Installation
Authentication
Connect a Coding Agent Account
To use Codex or Claude Code inside Replicas workspaces, link the relevant OAuth account to your organization. Each command opens a browser to complete the provider OAuth flow and uploads the resulting credentials to Replicas. Cursor uses a Cursor API key configured in Coding Agents settings.--user to attach the credentials to your personal account instead of the organization:
Replica Management
These commands let you create, manage, and interact with replicas from your terminal as part of an interactive session.List Replicas
-p, --page <page>- Page number for pagination-l, --limit <limit>- Number of items per page
Get Replica Details
- Current coding agent (
claude,codex,cursor, oropencode) - Current git branch
- Git diff statistics (lines added/removed)
- Associated pull requests
Create a Replica
-m, --message <message>- Initial message/task for the replica-e, --environment <name|id>- Environment to use. The environment supplies the repository, variables, files, skills, MCPs, and hooks (see Environments).-a, --agent <agent>- Coding agent:claude,codex,cursor, oropencode
small/large sizing is only available via the Replica API and Automations.
Example:
Send Message to Replica
-m, --message <message>- Message to send-a, --agent <agent>- Coding agent to use:claude,codex,cursor, oropencode
Delete a Replica
-f, --force- Skip confirmation prompt
Read Replica History
-l, --limit <limit>- Maximum number of events to return-o, --offset <offset>- Number of events to skip from the end (for pagination)
--offset to view older events.
If the workspace is sleeping, it will be woken and you’ll be prompted to retry in 30-90 seconds.
List Repositories
Environment Management
Manage Environments from the CLI. Usereplicas environment or the shorter replicas env alias.
List Environments
Get Environment Details
global.
Create an Environment
-d, --description <description>- Environment description-r, --repository <name|id>- Repository to bind to the environment--system-prompt <prompt>- System prompt for agents started in this environment
Edit an Environment
-n, --name <name>- New name-d, --description <description>- New description-r, --repository <name|id>- Repository binding; pass an empty string to unbind--system-prompt <prompt>- System prompt
Delete an Environment
-f, --force- Skip confirmation prompt
Manage Environment Variables
--reveal to show full values.
Manage Environment Files
Manage Start Hooks
get- show the active start hooksave- persist and activate a new versiontest- run a hook in an isolated sandbox without saving (streams output live)repository-hooks- list per-repo start hooks defined in replicas.json / replicas.yaml
Preview Management
Preview commands register ports from a workspace as public URLs. Agent mode commands run inside a workspace and use the local agent configuration. Human mode commands run from your local terminal and target a workspace by ID.Create a Preview
-a, --authenticated- Require Replicas login cookies before the preview can be accessed. Use this for user-facing frontends, not backend APIs called by frontend code.
List Previews
Delete a Preview
Add a Preview
-p, --port <port>- Port number to preview-a, --authenticated- Require Replicas login cookies before the preview can be accessed. Use this for user-facing frontends, not backend APIs called by frontend code.
Remove a Preview
-p, --port <port>- Port number to unregister
Computer Use
Drives the workspace’s Linux desktop. The live noVNC viewer is automatically published as an authenticated preview on port 6080 at engine startup, so the dashboard’s Desktop tab is always available without any agent action. Available in agent mode only.Get the Viewer URL
https://6080-<hash>.tryreplicas.com/) for the workspace desktop. Use this when you want to share the live stream with the user out-of-band (e.g. in a Slack reply) — the dashboard already points at the same URL automatically.
Session Status
Screenshot
replicas media upload to share it.
Mouse Input
--button <n> (1/2/3), --double, --modifiers <ctrl+shift>
Scroll options: --amount <n> (default 3), --x <x> --y <y> (hover before scrolling)
Keyboard Input
--delay <ms> (default 12, ~80 wpm)
Launch an App
replicas computer launch chrome http://localhost:3000/.
Screen Recording
--fps <n> (default 60)
End-to-End Example
Canvas vs replicas media upload
Two related surfaces share the workspace VM:
- The Canvas at
~/.replicas/canvas/is the right place for small, in-line artifacts: plans (.md), HTML pages, and small images the user should be able to flip through next to the chat. Items are capped at 5MB per file. replicas media uploadis the right place for screenshots, screen recordings, generated videos, audio clips, and anything large enough that base64-inflating it through the engine on every dashboard fetch would be wasteful. It returns a presigned URL + dashboard deep-link so the recipient can view it inline in chat or follow the link.
replicas media upload.
Interactive Mode
replicas i.
Interactive mode provides a multi-panel interface with a workspace sidebar, chat area, diff viewer, and workspace info panel, all navigable with keyboard shortcuts.
Layout
The interface adapts to your terminal width:- Sidebar (left): Lists all workspaces grouped by repository. Visible when terminal width is at least 60 columns.
- Chat area (center): Chat with your coding agents (Claude Code, Codex, Cursor, or Opencode). Supports multiple chat tabs when a workspace has multiple agents.
- Info panel (right): Shows workspace status, git info, preview URLs, associated PRs, and environment configuration. Visible when terminal width is at least 100 columns.
- Status bar (bottom): Displays context-sensitive keyboard hints for the currently focused panel.
Keyboard Shortcuts
Use Shift+Tab to cycle focus between panels. Shortcuts change based on which panel is focused:| Panel | Shortcut | Action |
|---|---|---|
| Sidebar | j / k | Navigate up/down |
| Sidebar | Enter | Select workspace or toggle group |
| Sidebar | a | Create workspace (when on ”+ New workspace” row) |
| Sidebar | d | Delete workspace (press twice to confirm) |
| Sidebar | w | Wake sleeping workspace |
| Chat tabs | ← / → / Tab | Switch between agent tabs |
| Chat history | j / k | Scroll messages |
| Chat input | Enter | Send message |
| Chat input | Shift+Enter | Insert new line |
| Chat input | Tab | Toggle plan/build mode |
| Diff viewer | j / k | Navigate file list |
| Diff viewer | Tab | Switch between file list and diff content |
| Info panel | j / k | Navigate items |
| Info panel | g / G | Jump to first/last item |
| Info panel | Enter | Open selected item |
| Info panel | o | Open workspace in web dashboard |
| Info panel | w | Wake sleeping workspace |
| Any | 1 / 2 | Switch between chat and diff view |
| Any | Shift+Tab | Cycle focus between panels |
| Any | Esc | Interrupt agent processing |
| Any | Ctrl+C | Quit |
Chat
Select a workspace from the sidebar and type messages in the chat input to communicate with the coding agent. The chat area displays the full conversation history including user messages, agent responses, and tool results. When a workspace has multiple agents configured, use the chat tabs to switch between them.Plan and Build Modes
Press Tab while the chat input is focused to toggle between build and plan mode:- Build mode (default): The agent can read and write files, run commands, and make changes to your codebase.
- Plan mode: The agent operates in read-only mode, useful for exploring code, discussing architecture, or planning changes before committing to them.
Diff Viewer
Press 2 to switch from the chat view to the diff viewer, which shows code changes made by the agent. Press 1 to return to chat. You can also open diffs for specific repositories from the info panel.Automation Management
Manage Automations directly from the CLI. All commands support both flag-based (scriptable) and interactive input modes. Use the aliasauto for brevity (e.g. replicas auto list).
List Automations
-p, --page <page>- Page number for pagination-l, --limit <limit>- Number of items per page--owner <org|user|all>- Show org automations, your personal automations, or both
Get Automation Details
Create an Automation
--prompt <prompt>- Prompt the agent will receive--environment <name|id>- Environment the automation runs in (see Environments)--trigger-cron <expression>- Cron schedule (e.g."0 9 * * 1-5")--trigger-cron-timezone <tz>- Timezone for cron trigger (default: UTC)--trigger-github <event>- GitHub event trigger (e.g.pull_request.opened)--trigger-github-repos <repos>- Comma-separated repository names to filter GitHub triggers--trigger-gitlab <event>- GitLab event trigger (e.g.merge_request.opened)--trigger-gitlab-repos <repos>- Comma-separated project names to filter GitLab triggers--pr-followups- Allow follow-up actions on matching PRs--agent-provider <provider>- Coding agent to use:claude,codex,cursor, oropencode(ornoneto inherit org default)--model <model>- Model identifier (must be valid for--agent-provider; passnoneto clear)--thinking-level <level>- Thinking/reasoning level:low,medium,high,max(ornoneto clear)--plan-mode- Run automation messages in plan mode--goal-mode- Set automation messages as Codex goals--fast-mode- Run automation messages in fast mode--personal- Create a personal automation owned by you--disabled- Create the automation disabled
Edit an Automation
--name <name>- New name--prompt <prompt>- New prompt--enabled <true|false>- Enable or disable--trigger-cron <expression>- Replace triggers with a cron trigger--trigger-cron-timezone <tz>- Timezone for the cron trigger--trigger-github <event>- Replace triggers with a GitHub event trigger--trigger-github-repos <repos>- Comma-separated repository names to filter GitHub triggers--trigger-gitlab <event>- Replace triggers with a GitLab event trigger--trigger-gitlab-repos <repos>- Comma-separated project names to filter GitLab triggers--environment <name|id>- Move the automation to a different environment--pr-followups <true|false>- Toggle whether matching PRs can receive follow-up actions--agent-provider <provider>- Coding agent to use:claude,codex,cursor, oropencode(ornoneto inherit org default)--model <model>- Model identifier (must be valid for--agent-provider; passnoneto clear)--thinking-level <level>- Thinking/reasoning level:low,medium,high,max(ornoneto clear)--plan-mode <true|false>- Enable or disable plan mode--goal-mode <true|false>- Enable or disable Codex goal mode--fast-mode <true|false>- Enable or disable fast mode
Run an Automation
Delete an Automation
-f, --force- Skip confirmation prompt
Workspace Connection
Connect via SSH
Open in VS Code
Switch Organization
Configuration
CLI configuration is driven byreplicas.json or replicas.yaml in your repository. Both formats use the same schema — YAML is especially useful for multiline system prompts.
See Repository Configuration for the full schema.