Terminal CLI
The desktop app and the podcode command drive the same server. The CLI is useful when you want the TUI instead of a window, a one-shot prompt in a script, or a headless server something else can talk to.
Install
From the app. Open Settings → Terminal and click Install. It adds a podcode launcher to a folder already on your PATH, so no admin rights are needed, and it runs the CLI bundled inside the app — there is no separate Node.js install. The same panel shows where the launcher went, and offers Reinstall and Remove.
Verify:
podcode --versionIf the command isn't found, open a new terminal — a shell started before the install has a stale PATH.
Commands
A bare podcode launches the TUI.
| Command | What it does |
|---|---|
podcode tui | The interactive terminal UI. Workspace picker, permission dialogs, streaming inspector, todo panel. |
podcode web | Starts the server and opens the web UI in your browser. |
podcode serve | Starts the server headless — no UI attached. |
podcode run "<prompt>" | One-shot: runs a prompt to completion and prints the result. |
podcode models | List available models and select one. |
podcode auth | Per-provider authentication: list, login <provider>, logout <provider>, and status copilot. |
podcode login / logout / whoami | Your Podcode account session — separate from provider auth above. |
podcode session | list, show <id>, delete <id>, rename <id> <title>, fork <id>, revert <id>, plan-mode <id>. |
podcode skills | list, sync, show <name>. |
podcode memory | Workspace memory team sync: sync, status, unignore, config. |
podcode schedule | Manage scheduled runs. |
podcode bench | Run the harness benchmark lanes against an endpoint. |
podcode run "explain what packages/server/src/loop does"Environment overrides
Useful when you run more than one instance, or want everything under one directory for a container.
| Variable | Overrides |
|---|---|
PODCODE_CONFIG_DIR | The config directory |
PODCODE_DATA_DIR | The data directory |
PODCODE_AUTH_DIR | Where auth.json lives |
PODCODE_DB_PATH | The SQLite database path |
PODCODE_LOG_DIR | Where logs are written |
LOG_LEVEL | Log verbosity |
PODCODE_DISABLE_KEYRING | Skip the OS keyring for credential encryption |
PODCODE_DISABLE_PROMPT_CACHE | Turn off provider prompt caching |
PODCODE_SHOW_STUBS | Reveal the unimplemented commands above |
Next
- Permissions — a headless
podcode runstill asks before dangerous tool calls unless you've granted them. - Providers —
podcode auth logincovers most of them.