Skip to main content
skill Claude Code CX Codex Cursor GitHub Copilot

Paseo — Claude Code skill: agent and workspace management

Control the Paseo remote daemon from your IDE. Create agents, workspaces, run scripts, and coordinate across hosts using MCP tools built into Claude Code.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add getpaseo/paseo --skill paseo -a claude-code
Open on GitHub

What paseo does

Paseo is a remote daemon that manages coding agents and terminals. This skill exposes its capabilities through your IDE: create and archive workspaces, spawn agents with provider-specific settings, manage scripts from paseo.json, send prompts to agents, and monitor their status.

Under the hood: MCP tools for hosts, projects, agents and launch profiles. Workspaces support worktree isolation with branch-off, checkout-branch, checkout-pr modes. Agents accept providers (claude/opus, codex/gpt-5.4 and others) and provider-specific parameters like Codex's fast mode. Scripts run with supervised lifecycle tracking ports and health.

Requires a running Paseo daemon and MCP configuration in your IDE. CLI commands work locally or via --host; paths and workspace IDs are interpreted on the target machine. Agents created in IDE context become subagents of the calling host.

What it helps with

  • Spawn a coding agent with a specific provider and runtime settings
  • Manage isolated workspaces backed by Git branches or pull requests
  • Start and stop background scripts defined in paseo.json
  • Coordinate agents across multiple remote hosts
  • Send a follow-up prompt to an existing agent without restarting it

Example prompts for the agent

  • Create an agent with claude/opus in the current workspace to analyze the system architecture
  • Start the dev-server script and show its status
  • Create a worktree-backed workspace from the feature/auth branch

How to install paseo

1Skills CLI (Vercel)

npx skills add getpaseo/paseo --skill paseo -a claude-code

2Manually: put the files in place

~/.claude/skills/paseo/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/paseo/

From the same set6

The whole set →

Similar

bmad-eval bmad-code-org Runs automated benchmarks and evaluations for agent skills across four modes, checking trigger accuracy and grading quality in a clean workspace. Claude Code CX Codex Cursor +1 4,500installs add-lang colbymchenry Adds a new language to codegraph through tree-sitter, tests the extractor, and measures extraction and retrieval on real repositories. Claude Code CX Codex Cursor +1 1,200installs opentui anomalyco Gives your agent OpenTUI reference documentation: Core, React and Solid bindings, components, application APIs, testing and deployment. Claude Code CX Codex Cursor +1 3,700installs bmad-toolsmith bmad-code-org Smithy builds BMad skills, agents, and modules from your session. Use it to scaffold a skill from scratch, refactor an existing one, or package a workflow as a reusable tool. Claude Code CX Codex Cursor +1 4,400installs ppt-template-creator official anthropics A skill that converts PowerPoint templates into self-contained, reusable skills. Analyze your .pptx, extract all layouts and placeholders with exact coordinates, and package everything as a ready-to-use skill. Claude Code CX Codex Cursor +1 2,300installs eve vercel eve is a filesystem-first framework for durable backend agents, where code lives as files on disk. This skill helps you create, edit, and debug agents: instructions, skills, tools, connections, channels, subagents, schedules, and evals. Claude Code CX Codex Cursor +1 7,400installs setup-matt-pocock-skills Matt Pocock This skill configures a repository for Matt Pocock's engineering skills by setting its issue tracker, triage labels, and domain docs layout. Run it before using the other skills. Claude Code 1,052,851installs to-tickets Matt Pocock Turns a plan, spec, or conversation into small end-to-end tickets with explicit blockers. Use it to agree on the work breakdown before tickets go to a tracker. Claude Code 711,230installs

Questions about paseo

How do I install Paseo in Claude Code?

Run npx skills add getpaseo/paseo --skill paseo -a claude-code, then locate ~/.claude/skills/paseo/SKILL.md. The skill requires MCP configuration in your IDE to connect to the Paseo daemon.

What does the Paseo skill do?

It lets you manage a Paseo remote daemon: create agents and workspaces, run scripts, send prompts to agents, work with multiple hosts and provider launch profiles.

Which providers does Paseo support?

Supports claude/opus, codex/gpt-5.4 and others. Each provider accepts specific parameters — for example, Codex fast mode via settings: { features: { "fast_mode": true } }.

Source text

SKILL.md · Apache-2.0
---
name: paseo
description: Paseo reference for managing hosts, projects, workspaces, workspace scripts, agents, schedules, and heartbeats.
---

Paseo is a remote daemon that manages coding agents, terminals. Control it through MCP tools or the CLI.

## Connected hosts

Call `list_hosts` to discover the calling daemon (`self`) and its registered destinations (`hosts`). Use a destination's `serverId` for tool calls; labels are display names.

`create_workspace`, `list_workspaces`, `create_agent`, `send_agent_prompt`, `get_agent_status`, `get_agent_activity`, and `list_agents` accept `serverId`. Omit it for the calling daemon. Other MCP tools operate on the calling daemon.

Keep an agent's `{ serverId, agentId }` together. For example, call `send_agent_prompt` with:

```json
{ "serverId": "srv_build", "agentId": "agent_123", "prompt": "Continue", "notifyOnFinish": true }
```

Remote paths and workspace IDs belong to the destination. Remote `list_agents` has no caller-directory default; pass `cwd` to filter it.

Manage registrations through the CLI; use the returned `registrationId` for updates and removal:

```bash
paseo --host localhost:6768 host add localhost:6779 --label build
paseo --host localhost:6768 host ls --json
```

## Projects

Manage the daemon's project registry through the CLI:

```bash
paseo project create [path]
paseo project ls
paseo project rename <project-id> <name>
paseo project rename <project-id> --reset
paseo project delete <project-id>
```

For a local daemon, `project create` defaults to the current directory and resolves relative paths on the CLI machine. With `--host` or `PASEO_HOST`, always provide a path; the target daemon interprets it on its own machine. Deleting a project archives its active workspaces and removes the project from Paseo without deleting the project directory.

## Workspaces

**`create_workspace`** — create a workspace independently of any agent. Required: `isolation` (`local` or `worktree`). Worktree isolation supports `mode: "branch-off" | "checkout-branch" | "checkout-pr"`: use `branchName`/`baseBranch` for a new branch, `branch` for an existing branch, or `prNumber` plus optional `forge` for a change request. Use `path` for a local directory or source checkout and `projectId` for the owning project; when no path is supplied, a worktree may resolve its source from `projectId`. `worktreeSlug` controls the managed path. Returns the workspace descriptor centered on `workspaceId`.

`background: true` hides a workspace from default lists and the sidebar while its contents remain durable and accessible; omit `background` to inherit your current workspace’s value (false without a caller), and override it only when the user explicitly asks.

Choose `baseBranch` explicitly: `origin/main` selects the remote-tracking branch; `refs/heads/main` selects local main. Bare `main` prefers local main when it exists, otherwise origin/main. Paseo retains the resolved ref for workspace comparisons, even after rebasing the branch or changing its PR target.

**`list_workspaces`** — list active workspaces, excluding background workspaces unless `includeBackground: true`.

**`archive_workspace`** — `{ workspaceId }`. Archives the workspace, its agents, and its terminals. Local directories remain; Paseo removes an owned worktree only after its final active workspace reference is archived.

**`rename_workspace`** — `{ workspaceId, name }`. Rename workspace.

## Workspace scripts

Configured `paseo.json` scripts use the same supervised lifecycle from tools and the CLI.

**`list_workspace_scripts`** — `{ workspaceId }`. Lists configured scripts with lifecycle, service port, proxy URLs, health, exit code, and terminal ID.

**`start_workspace_script`** — `{ workspaceId, scriptName }`. Starts one configured script through Paseo's managed workspace-script launcher and returns its status metadata.

**`stop_workspace_script`** — `{ workspaceId, scriptName }`. Stops a running script through its supervised terminal and returns the stopped status metadata.

The matching CLI surface accepts either an explicit workspace ID or resolves the current directory:

```bash
paseo script ls [--cwd <path> | --workspace <workspace-id>]
paseo script start <name> [--cwd <path> | --workspace <workspace-id>]
paseo script stop <name> [--cwd <path> | --workspace <workspace-id>]
```

## Agents

**`create_agent`** — required: `title`, `provider` (`claude/opus`, `codex/gpt-5.4`, …), `initialPrompt`. Optional: `workspaceId`, `notifyOnFinish`, `settings`, `labels`. Returns `{ agentId, workspaceId, … }`.

Initial runtime settings live under `settings`: `modeId`, `thinkingOptionId`, and provider-specific `features`. Agent profiles are the preferred source for these values. For Codex fast mode, pass `settings: { features: { "fast_mode": true } }` when creating the agent.

Agent-scoped creation always creates your subagent. On your own host, omit `workspaceId` to use your current workspace. On another host, first list or create a workspace with that `serverId`, then pass its `workspaceId` and the same `serverId` to `create_agent`. Placement never changes parentage.

Detach is an explicit user action in the subagents track, not an agent tool. A cross-workspace child remains your subagent even though it also appears as a normal tab in its workspace.

Agent-scoped `create_agent` defaults `notifyOnFinish` to true. Set it to `false` when you want explicit reporting or no completion callback.

**`send_agent_prompt`** — `{ agentId, prompt, activeTurnBehavior? }`. Use for follow-ups to an existing agent. Agent-scoped calls default to `steer`; top-level calls default to `interrupt`. Set `activeTurnBehavior` to `steer` or `interrupt` to override the default. Steering falls back to interruption when unavailable. CLI agent sends use the same defaults and accept `--behavior steer|interrupt`. Agent-scoped calls return a queued receipt immediately; messages to each recipient deliver after two quiet seconds. Top-level calls return after dispatch acknowledgement. Agent-scoped calls default `notifyOnFinish` to true; top-level calls have no parent callback.

**`update_agent`** — `{ agentId, name?, labels?, settings? }`. Use `settings` for runtime changes on an existing agent: `modeId`, `model`, `thinkingOptionId`, and provider-specific `features`. For Codex fast mode, pass `settings: { features: { "fast_mode": true } }`.

**`list_agents`** — filter by `cwd`, `statuses`, `sinceHours`, `includeArchived`; set `includeBackground: true` to include agents in background workspaces.

**`archive_agent`** — `{ agentId }`. Interrupts if running, removes from active list.

## Agent profiles and provider discovery

**`list_profiles`** — named launch bundles configured by the human. Before choosing how to launch a delegated agent, call this tool and read every profile's `notes`. Pick a named profile the user requested, or the profile whose notes best match the work.

There is no `profile` parameter on `create_agent`. Materialize the selected profile into the call:

- combine `provider` and `model` as the `provider/model` value for `create_agent.provider`
- copy `modeId` to `settings.modeId`
- copy `thinkingOptionId` to `settings.thinkingOptionId`
- copy `featureValues` to `settings.features`

Omit absent values. Do not remember a selected profile or infer drift later; a profile is only launch configuration.

If no profile fits, or no profiles are configured, use the provider discovery tools below rather than guessing. Tell the user when you fall back because no configured profile fits.

**`list_providers`** — compact provider availability and modes.

**`list_models`** — full model list for one provider. Use only when you need model IDs or thinking options; the list can be large.

**`inspect_provider`** — compact provider capability and feature inspection. Required: `provider`; pass `cwd` when you are not in an agent-scoped session. Optional: `settings` with draft `model`, `modeId`, `thinkingOptionId`, and `features`.

Only set feature IDs returned by `inspect_provider`. For Codex fast mode, look for `fast_mode` and pass `settings: { features: { "fast_mode": true } }` to `create_agent` or `update_agent`.

## Schedules and heartbeats

**`create_schedule`** — starts a new agent on a cron cadence. Required: `prompt`, `cron`, `provider`. Optional: `timezone`, `name`, `cwd`, `maxRuns`, `expiresIn`. Use when the recurring work should live in fresh agents.

**`create_heartbeat`** — sends you a prompt on a cron cadence. Required: `prompt`, `cron`. Optional: `timezone`, `name`, `maxRuns`, `expiresIn`. Use for reminders, PR/build babysitting, and status checks that should return to this conversation.

**`delete_heartbeat`** stops it. MCP intentionally exposes no heartbeat update tool; delete and recreate when its task or cadence changes.

Schedules have the full list/inspect/update/pause/resume/run-once/log/delete surface. Heartbeats deliberately do not.

## Waiting

When you create or prompt a subagent, `notifyOnFinish` defaults to `true` and reports completion, errors, or permission requests, including across hosts.
Finish your turn and wait for that notification instead of polling.
If you want an explicit reply with `send_agent_prompt`, have the sender check `list_hosts` for the recipient’s server before setting `notifyOnFinish: false`.

## CLI semantics

The CLI and tools use the same ownership semantics even where their syntax differs:

```bash
paseo workspace create --isolation worktree --mode branch-off --new-branch fix-x --base origin/main
paseo workspace create --isolation worktree --mode checkout-branch --branch existing-work
paseo workspace create --isolation worktree --mode checkout-pr --pr-number 42
paseo run --provider codex/gpt-5.4 --mode full-access --workspace <workspace-id> "<prompt>"
paseo run --provider codex/gpt-5.4 --mode full-access --new-workspace worktree --worktree-mode branch-off --new-branch fix-x --base origin/main "<prompt>"
paseo send <agent-id> "<follow-up>"
paseo ls
paseo schedule create --cron "*/15 * * * *" "ping main build"
paseo heartbeat create --cron "*/15 * * * *" "check the build"
```

Discover with `paseo --help` and `paseo <cmd> --help`.

For product questions, setup, logs, version problems, or troubleshooting, use the **paseo-help** skill.

© getpaseo · Apache-2.0 · getpaseo/paseo

See also

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor