Paseo provider for the Command Code coding agent (headless via commandcode -p)
read_file.--effort are retried without it.From the plugin's README
/usage, /login, /connect, IDE setup) are unavailable headless — ask for them in the model prompt instead.commandcode -p has no image flag, so attached images are written to a private file under the system temp directory and referenced by path as [Image available at: …] — read_file turns that path into a real image block for the model. The temp location is required, not incidental: the CLI auto-allows reads only under its temp roots and the workspace, so a file anywhere else (e.g. under $PASEO_HOME) comes back tool_denied headless and the turn ends with no response. Each file is deleted when its turn ends, so nothing outlives the session that referenced it. Images are capped at 16 MiB; one that is too large is dropped with a warning and the rest of the prompt still runs. The model still has to call read_file on the path, and a model without vision reports that it cannot see the image.--effort at startup) get per-model thinkingOptions: [] so the host hides the Thinking pill, stale pill values are stripped on model switch, and the turn is retried once without --effort instead of failing…npmjs · Paseo 0.9+
paseo plugin add npm:@alhassanaraouf/paseo-commandcode-provider@0.1.4GitHub · Paseo 0.8 fallback
paseo plugin add alhassanaraouf/paseo-commandcode-provider --ref 789c7ded56c0453069bf896486ca35ac408bd81bGit security status and fallback installation are pinned to commit 789c7ded56c0.
From the plugin's README
paseo plugin add npm:@alhassanaraouf/paseo-commandcode-provider
Or from GitHub:
paseo plugin add alhassanaraouf/paseo-commandcode-provider
Or from a local checkout:
paseo plugin add /path/to/paseo-commandcode-provider
Then create an agent with the Command Code provider.
README
A Paseo provider plugin for Command Code (commandcode CLI). Requires Paseo >=0.8.0 and commandcode on PATH (logged in via commandcode login) — on Windows the plugin looks for cmdc instead, since commandcode isn't guaranteed to have installed a cmd shim (that name is taken by the Windows shell).
To point at a different binary (a different alias, a full path, a wrapper script), either:
COMMANDCODE_CLI_COMMAND environment variable on a specific agent, which takes priority over the shared setting.
paseo plugin add npm:@alhassanaraouf/paseo-commandcode-provider
Or from GitHub:
paseo plugin add alhassanaraouf/paseo-commandcode-provider
Or from a local checkout:
paseo plugin add /path/to/paseo-commandcode-provider
Then create an agent with the Command Code provider.
commandcode -p --output-format json), streamed into the timeline (text, thinking, tool calls, usage).[Image available at: …]), which read_file resolves into an image block. Capped at 16 MiB; see Known issues.task_create / task_update / task_list / task_get maintain a session task list shown in the Tasks pill (todo timeline item, like the opencode provider).commandcode --list-models (1h cache, fallback on failure).--plan).--session, replay on reopen (tasks rebuilt from the native transcript).--version) on session open; a missing binary or failed probe surfaces an actionable notice (which binary, where it's from, commandcode login / commandcode status hints) instead of a bare ENOENT./ menu, side effects via the CLI):
/status, /info, /models, /mcp-list/taste-list, /taste-learn [path|owner/repo]/skills-list, /skills-add <owner/repo>/mods-list, /mods-add <source>commandcode skills list) appear in the composer / menu and run as agent turns (/paseo ...), like other providers.canceled, no dangling turn)./usage, /login, /connect, IDE setup) are unavailable headless — ask for them in the model prompt instead.commandcode -p has no image flag, so attached images are written to a private file under the system temp directory and referenced by path as [Image available at: …] — read_file turns that path into a real image block for the model. The temp location is required, not incidental: the CLI auto-allows reads only under its temp roots and the workspace, so a file anywhere else (e.g. under $PASEO_HOME) comes back tool_denied headless and the turn ends with no response. Each file is deleted when its turn ends, so nothing outlives the session that referenced it. Images are capped at 16 MiB; one that is too large is dropped with a warning and the rest of the prompt still runs. The model still has to call read_file on the path, and a model without vision reports that it cannot see the image.--effort at startup) get per-model thinkingOptions: [] so the host hides the Thinking pill, stale pill values are stripped on model switch, and the turn is retried once without --effort instead of failing.npm install
npm run typecheck
npm test
paseo plugin reload commandcode-provider
paseo plugin logs commandcode-provider
Scanned 15 Oct 2026, 12:29 UTC from alhassanaraouf/paseo-commandcode-provider.