PABLO
Docs
Documentation home

Getting started

  • What is PABLO?
  • Quickstart
  • Installation
  • Your first project
  • Your first task

Guides

  • Managing tasks
  • Dashboard
  • Analytics
  • Backups & restore
  • Troubleshooting

Concepts

  • How it works
  • Task states
  • Agents
  • Sync & rebase

Reference

  • Commands
  • Configuration
  • Providers
  • Storage

Contributing

  • Development

Reference

Commands

Every pablo command, grouped by what it acts on. Commands marked “in a worktree” act on the task of the current directory. Run pablo help <command> for the full usage of any of them.

Tasks#

CommandWhat it does
task:start <issue-url>
task:start --project=<name> "<prompt>"
Start a task: branch, worktree, task-analyst. Guide
task:list [--live] [--refresh]Active tasks, split into “waiting for feedback” and the rest. --live fetches fresh data, --refresh runs the poller first. Guide
task:waitingIn a worktree. Pause the task, or resume it. Guide
task:state <state> [--no-trigger] [--worktree=<path>]In a worktree. Force a state. Guide
task:attach <state> [--project=<name>]In a worktree. Adopt a worktree PABLO didn't create. Guide
task:relaunch [--only=<agent>]In a worktree. Launch the current state's agents again. Guide
task:retrigger-ciIn a worktree. Re-run the GitHub Actions workflows of the branch; the pull request goes back to draft. Guide
task:skip-ciIn a worktree, from ci-red. Ignore failing checks until the next /pablo-commit-and-pr. Guide
task:close [<branch>] [--project=<name>] [--yes]Close a task: delete its worktree and record. Guide
task:info currentIn a worktree. Print the task record as JSON.
task:precommit-check [--json] [--worktree=<path>]Whether /pablo-commit-and-pr is allowed here. Used by that command.

Projects#

CommandWhat it does
project:newInteractive wizard that writes a project file to ~/.pablo/projects/. Guide
project:listConfigured projects and their settings.
project:remove <name>Delete a project's file (refused while it has active tasks).

Sync#

CommandWhat it does
sync:run [<project>] [--apply]Sync task branches with the primary branch. Dry run unless --apply or sync.auto_apply. Guide
sync:log [<project>]What the last sync did.
sync:main [<project>]Update primary checkouts now. Naming a project runs it even if main_update.enabled is false. Guide

System#

CommandWhat it does
system:doctorCheck every required tool is installed and logged in, and that the agents are up to date. Details
system:setupThe same checks as a wizard, one fix at a time.
system:generate-agents [--runtime=opencode|claude-code|copilot] [--agents-dir=<dir>] [--claude-dir=<dir>] [--claude-commands-dir=<dir>] [--claude-agents-dir=<dir>] [--copilot-dir=<dir>]Regenerate the agents from their templates: the OpenCode agent files, plus, under Claude Code, ~/.pablo/claude/agents.json, the pablo-<agent>.md files in claude/agents/ and the command in claude/commands/, or, under Copilot, the agent files and skill in copilot/. The runtime defaults to agent_runtime. Details
system:dispatchThe background job: run every due poll, sync and main update. Called by the scheduler every 5 minutes.
system:poll [<project>]Run the state poller once.
system:repair-merge-flags [--dry-run] [--project=<name>]Fix old analytics events that recorded a merged pull request as not merged.

Backups, dashboard, analytics#

CommandWhat it does
archive:backup [<destination>]Write a backup of ~/.pablo/. Guide
archive:restore <archive> [--skip-worktrees] [--skip-orca] [--yes]Restore a backup and recreate the worktrees.
web [--port=<port>] [--open]Serve the dashboard on 127.0.0.1 (port 8321). Guide
stats [--days=<n>] [--project=<name>] [--type=<type>] [--agent=<agent>] [--format=json]Task lifetimes, agent runs, tokens and cost. Guide

Agent command#

CommandWhat it does
/pablo-commit-and-pr [--force]In an OpenCode, Claude Code or Copilot session inside a task worktree: commit, push, open a draft pull request, move the task to draft. Guide

Internal commands#

Used by PABLO itself, in background processes; you shouldn't need to call them.

CommandRole
internal:launch-agentLaunches one agent in a worktree, detached, so commands and the poller never wait for a backend.
internal:run-startup-scriptRuns a project's startup script in a worktree, detached.
internal:watch-agentWaits for an agent run to finish, records its usage, and does what comes next (for example putting the pull request back in draft).
PreviousSync & rebase NextConfiguration

Edit this page on GitHub

On this page

  • Tasks
  • Projects
  • Sync
  • System
  • Backups, dashboard, analytics
  • Agent command
  • Internal commands
PABLO

MIT licensed · made by Baptiste Leduc · GitHub · Docs