Skip to main content
Tascarrel is alpha software and may break. We’re looking for your feedback — share it on GitHub.
Documentation

podctl CLI

The podctl command is installed inside every pod. Its private socket already identifies the current workspace and pod; a caller cannot use it to select a different pod.

Identity and Lifecycle

CommandBehavior
podctl identityPrint the authenticated workspace and pod identity
podctl title <TITLE>Set the pod’s human-readable title
podctl destroyDestroy the current pod and all of its persistent resources

Processes and Chats

CommandBehavior
podctl processes listPrint processes belonging to this pod
podctl processes snapshot <PROCESS_ID>Capture the current screen of a terminal process
podctl processes kill <PROCESS_ID>Send the default terminate signal
podctl processes kill <PROCESS_ID> --signal <SIGNAL>Send terminate, kill, hangup, or interrupt
podctl chats listPrint chats belonging to this pod
podctl chats show <CHAT_ID>Print one chat and its current timeline

Commands that return structured data emit JSON.

Host Operations

Workspace configuration may register trusted commands which execute on the physical host after host-side approval.

CommandBehavior
podctl host operations commandsPrint the current caller-visible registered command catalog
podctl host operations run <COMMAND>Request a registered command and follow it to completion
podctl host operations run <COMMAND> -p <NAME>=<VALUE>Supply one validated parameter; repeat -p as needed
podctl host operations listPrint durable operations initiated by this pod
podctl host operations cancel <OPERATION_ID>Withdraw an unapproved request or stop its active process

podctl host operations commands reports each command’s description, trusted program and argument templates, parameter validation, repository inputs, environment names without their values, and timeout. It also reports a configuration error when an invalid edit leaves the preceding valid catalog active. Valid config.toml edits appear after a short debounce without restarting the workspace.

Overlay Share Approvals

An Overlay host share retains filesystem changes in the current pod until a host client approves an exact revision. Submit the current revision after finishing the proposed changes:

podctl shares submit source
CommandBehavior
podctl shares submit <SHARE>Create a durable approval request for the exact current revision
podctl shares listPrint this pod’s pending overlay approval requests
podctl shares cancel <APPROVAL_ID>Withdraw a request while retaining every overlay change

Submitting the same revision again returns its existing request. If the pod changes the overlay while that request is pending, cancel it before submitting the new revision. Approval applies only the submitted revision; a changed revision or a concurrent host edit leaves the complete overlay intact.

Host-Loopback Port Forwards

CommandBehavior
podctl ports publish <PORT>Expose a pod TCP port on an assigned host-loopback port and print that port
podctl ports publish <PORT> --title <TITLE>Add a label in the interface
podctl ports publish <PORT> --tabAlso create a visible HTTP route
podctl ports listPrint this pod’s dynamic forwards
podctl ports unpublish <PORT>Remove the forward for that pod port

HTTP Routes

CommandBehavior
podctl http publish <PORT>Create or update a route and print its hostname prefix
podctl http publish <PORT> --title <TITLE>Set the visible title
podctl http publish <PORT> --internalKeep the route out of ordinary visible pod tabs
podctl http listPrint this pod’s routes
podctl http unpublish <ROUTE>Remove a route by pod port or route identifier