Install and connect
Install the CLI, log in with your browser, and run your first AI thread on your machine.
The Convoy CLI connects a project in the web app to a folder on your machine. While the connection is running, your AI threads can use the runtimes installed there. The CLI also offers one-shot commands for task scripting.
Prerequisites
- An account and project access on the Convoy deployment you want to use.
- Its Convex deployment URL, such as
https://your-deployment.convex.cloud. Ask your deployment admin for this URL. - Node.js 20 or later and npm.
- A local working folder and an installed, authenticated AI runtime.
Convoy can execute Claude Code, Codex, OpenCode, and Cursor. Check the
runtime support table for
capabilities and version requirements. Verify your chosen executable is on
the same PATH as Convoy, for example claude --version, codex --version,
opencode --version, or cursor-agent --version.
Read the security model before connecting a machine with access to sensitive files or credentials. Choose an isolation option if the runtime needs a restricted environment.
To create and manage an isolated Docker environment from your host terminal, start with Managed local environments. To reach a service on another machine over SSH, see Remote targets.
To run several projects with separate Linux identities in one VM, follow Isolated projects on Linux.
Install
npm install -g @useconvoy/cli
convoy --helpA successful install prints the command help. On macOS, Linux, and Windows,
the global command is convoy. To run without a global install, substitute
npx @useconvoy/cli for convoy in the commands below.
For a source checkout, follow the
contributor quickstart. There, substitute
pnpm cli:dev for convoy.
Login and connect
Open a terminal in the repository or folder you want the agent to work in:
convoy loginThe wizard asks for the Convex deployment URL, opens your browser for approval, then asks you to choose a project, profile name and key, and workspace folder. Browser approval issues a user-scoped API key automatically. You do not need to create one beforehand.
If the CLI cannot open a browser, use its printed approval link. You can
also open /device in the web app on another signed-in browser and enter
the printed backup code.
The wizard saves the profile in ~/.config/convoy/config.toml and starts the connection. Leave that terminal running. Interactive convoy setup
uses the same flow, with a choice between browser approval and pasting a
key. For unattended setup, use
API keys for scripts and headless machines.
A profile records the deployment, user credential, project, and local
paths. After the connection starts, the web app shows your profile as
online and lists its detected runtimes. In a second terminal, use
convoy status to inspect the saved configuration.
Send your first thread
- Open the same project in the web app and start an AI thread.
- Select your online profile, working path, and an installed runtime.
- Send a small prompt, such as "Describe this repository's top-level folders."
- Watch the assistant response and tool activity appear in the thread.
The thread should finish with a response. If it stays queued, confirm the selected profile is online and belongs to the intended project. If the runtime fails, check its authentication and executable in the terminal running the connection. See CLI troubleshooting.
Reconnect and update
After stopping the connection with Ctrl+C, reconnect from the saved folder:
convoy connectYou can select a saved profile with convoy connect --profile work.
Profiles, paths, and status explains
multiple checkouts and profile selection. For persistent workers, see
Running the CLI long-term.
To update:
convoy updateRestart running connections after the update. The connection also checks npm at startup and prints an update notice when a newer release is available. An unreachable npm registry does not prevent connection.
Connection options
Streaming is on by default. --buffered sends complete events instead of
partial text deltas. Concurrency defaults to five threads and can be set
with --concurrency or the profile configuration.
Codex uses its app-server transport by default. --codex-exec selects the
non-interactive transport, which has fewer capabilities. See the
runtime support table before
choosing it. For sandboxing, use
isolation options.
The CLI command reference
contains every flag, including debug fixture replay. Use
CONVOY_CLI_DEBUG=1 convoy connect for debug logs, or set the value to 2
for untruncated JSON output.
Next steps
- AI threads covers queues, steering, and sharing.
- Model provider keys configures runtime credentials.
- Integrations connects external AI clients to Convoy. Direct MCP access does not need a running CLI bridge.
Use Browser automation to run Chromium in a devcontainer or isolated Linux project.
Run registered Linux projects after closing your terminal with the persistent project service.