Skip to main content

Usage

devin [OPTIONS] [prompt]
Pass an optional prompt to start a session with an initial message, or launch interactively with no arguments.

Global Flags

FlagShortDescription
--model <MODEL>Set the AI model for this session
--permission-mode <MODE>Permission mode (normal, dangerous, bypass)
--continue-cResume the most recent session in the current directory
--resume <SESSION_ID>-rResume a specific session by ID
--print [PROMPT]-pPrint response and exit (non-interactive mode). Optionally accepts an inline prompt.
--prompt-file <FILE>Load the initial prompt from a file
--config <PATH>Configuration file path
--respect-workspace-trustWhether to respect workspace trust settings
Examples:
devin -- add a login page
devin --model opus -- refactor the auth module
devin -c                              # Resume last session
devin -r abc12345                     # Resume specific session
devin -p "list all TODO comments"    # Print response and exit
devin -p -- list all TODO comments    # Same, using -- separator (still works)

Subcommands

devin auth

Manage authentication.
CommandDescription
devin auth loginLog in to your account
devin auth logoutLog out and remove stored credentials
devin auth statusCheck authentication status
Options for devin auth login:
  • --force-manual-token-flow — Skip browser-based auth and manually paste a token (useful for remote/SSH sessions)

devin mcp

Manage MCP (Model Context Protocol) servers.
CommandDescription
devin mcp add <name>Add a new MCP server
devin mcp listList all configured MCP servers
devin mcp get <name>Show details for a specific MCP server
devin mcp remove <name>Remove a configured MCP server
devin mcp login <name>Authenticate with an MCP server via OAuth
devin mcp logout <name>Remove stored OAuth credentials for an MCP server
Options for devin mcp add:
  • -t, --transport <stdio|sse|http> — Transport type (optional; inferred from URL → http, trailing args → stdio)
  • -s, --scope <local|project|user> — Configuration scope (default: local)
  • --url <URL> — URL for HTTP/SSE transports (can also be passed as a positional argument after the name)
  • --command <CMD> — Command for stdio transport (optional when trailing args are provided)
  • -e, --env <KEY=VALUE> — Environment variables (repeatable)
  • -H, --header <HEADER: VALUE> — HTTP headers (repeatable)
  • --scopes <SCOPE,SCOPE> — OAuth scopes to request (comma-separated)
  • <URL> — Positional URL argument for HTTP/SSE (alternative to --url)
  • -- <COMMAND> [ARGS...] — Command and arguments for stdio (first arg is the command when --command is omitted)
Examples:
# stdio server
devin mcp add my-server -- npx @company/mcp-server --port 3000

# HTTP server (positional URL)
devin mcp add notion https://mcp.notion.com/mcp
devin mcp add --transport http datadog-mcp https://mcp.datadoghq.com/api/unstable/mcp-server/mcp

# HTTP server (--url flag, also works)
devin mcp add notion --url https://mcp.notion.com/mcp

# With environment variables and scope
devin mcp add -e GITHUB_TOKEN=ghp_xxx github -- npx -y @modelcontextprotocol/server-github
devin mcp add -s project sentry https://mcp.sentry.dev/mcp
Options for devin mcp remove:
  • -s, --scope <local|project|user> — Configuration scope (default: local)
Options for devin mcp login:
  • --scopes <SCOPE,SCOPE> — OAuth scopes to request (comma-separated)
See MCP Configuration for details.

devin rules

Manage agent rules.
CommandDescription
devin rules listList all available rules
devin rules show <name>Show details for a specific rule
devin rules pathsShow rule directory locations
Options for devin rules list:
  • --provider <cursor\|windsurf> — Filter by rule provider
See Rules for details.

devin skills

Manage skills.
CommandDescription
devin skills listList all available skills
devin skills show <name>Show details for a specific skill
devin skills pathsShow skill directory locations
Options for devin skills list:
  • --trigger <user\|model> — Filter by trigger type
See Skills for details.

devin list

List sessions in the current directory. Alias: devin ls
CommandDescription
devin listInteractive session picker (default)
devin list --format jsonOutput sessions as JSON
devin list --format csvOutput sessions as CSV

devin version

Print the current version and exit.
devin version
This is equivalent to devin --version.

devin acp

Run Devin as an Agent Client Protocol (ACP) server over stdio. This subcommand is intended to be invoked by an ACP-aware editor or IDE (such as Windsurf or Zed) as a subprocess — it speaks JSON-RPC over stdin/stdout and is not meant to be run interactively.
devin acp
The ACP server reads credentials from WINDSURF_API_KEY if set, otherwise from the credentials stored by devin auth login. It can also accept credentials at runtime via the ACP authenticate request.

devin update

Check for updates and optionally install them.
devin update
Use --force to re-install even if already on the latest version:
devin update --force

devin setup

Interactive setup wizard for authentication and MCP configuration.
devin setup
devin setup --force-manual-token-flow  # For remote/SSH sessions

devin uninstall

Uninstall Devin for Terminal and optionally remove all data.
OptionDescription
--cleanRemove all data including configuration, history, and custom data
--forceSkip confirmation prompt

Slash Commands

These commands are available inside an interactive session. Type them at the prompt.

Mode & Model

CommandDescription
/mode [normal|accept-edits|plan|bypass]Show or switch the current mode
/normalSwitch to Normal mode (default)
/accept-editsSwitch to Accept Edits mode (auto-approve file edits in workspace)
/planSwitch to Plan mode (read-only planning)
/ask <question>Ask a question without making code changes (oneshot)
/bypassSwitch to Bypass mode (auto-approve all actions)
/model [name]Show or change the current model
/themeSwitch between themes (dark, light, 16-color, no-color)
/bypass has aliases /yolo and /dangerous. All three do the same thing.

Session Management

CommandDescription
/clearClear conversation history and start a new session. Alias: /new
/continue [session-id]Resume a previous session
/forkFork the current session to a new session ID
/ls [--all]List recent sessions (current directory only by default). Aliases: /list-sessions, /resume
/rm-session <session-id>Irreversibly delete a session and all its data
/exitExit the application (alias: /quit). You can also type exit or quit without the / prefix.

Workspace

CommandDescription
/workspaceList workspace directories (alias: /workspaces)
/add-dir <path>Add an additional workspace directory
/undo-add-dir <path>Remove a workspace directory

Automation

CommandDescription
/loop <prompt>Run a prompt then auto-review the diff in a loop

Extensibility

CommandDescription
/hooksList all loaded hooks with their IDs, event types, and source paths

Utilities

CommandDescription
/helpShow available slash commands
/bug [description]Submit a bug report
/update [--force]Check for and install updates. Pass --force to re-install even when already on the latest version.
/upgradeUpgrade your subscription plan
/loginAuthenticate with your account
/logoutClear stored credentials and exit
/contextShow context window usage
/compactForce conversation compaction

Modes

Modes control the agent’s autonomy level by combining a permission mode with an agent profile.
Full autonomy for complex coding tasks. The agent can read, write, and execute commands with normal permission checks.
  • Permission mode: Normal
  • Profile: Normal
  • Use for: Multi-file refactoring, feature implementation, bug fixes
Cycle between modes with /mode, or switch directly with /normal, /accept-edits, /plan, or /bypass. Use /ask <question> as a oneshot command to ask questions without switching modes.

Profiles

Profiles determine the agent’s available tools and behavior. Profiles are automatically set when you switch modes.
ProfileDescriptionTool Access
normalFull coding assistant (used by Normal, Accept Edits, and Bypass modes)All tools
planStructured planning workflow (used by Plan mode)Read-only tools (grep, glob, read, todo, ask_user_question, exit_plan_mode)
askQuestion answering (used by the /ask command)Read-only tools (grep, glob, read, todo, ask_user_question)