Documentation / 05

Devin Pocket CLI and troubleshooting

The Devin Pocket CLI starts and supervises the local server, reports status, and exposes logs, doctor checks and model diagnostics. With no command it starts on 127.0.0.1:7777. Flags override config where applicable. Use doctor first when something fails, then inspect logs and the downloadable Diagnostics report before sharing sanitized details.

Last updated ·Node.js 22+

Before you begin

  • An installed Pocket package and Node.js 22+.
  • Devin CLI on PATH and an authorized account for agent operations.

Step by step

  1. 01

    Start with explicit workspace options

    The ACP working directory defaults to the current directory. --agent overrides DEVIN_POCKET_AGENT, which overrides agentCommand in config.

    devin-pocket start --cwd "$HOME/project" --port 7778 --no-open
    devin-pocket status
  2. 02

    Diagnose failures

    doctor checks runtime, CLI/auth/ACP, paths, ports and permissions. logs shows the last 100 application entries by default. Models refreshes pricing diagnostics; authentication is needed and some prices may be unavailable.

    devin-pocket doctor
    devin-pocket logs -n 100
    devin-pocket logs -f -n 50
    devin-pocket models
  3. 03

    Inspect configuration

    Optional config is ~/.config/devin-pocket/config.json unless XDG_CONFIG_HOME is set. Missing or invalid config falls back to defaults. UI preferences live in browser storage, even though the schema accepts theme/lang/showThoughts.

    devin-pocket help
    devin-pocket version
  4. 04

    Restart or stop deliberately

    Restart creates a new supervisor using the supplied options; it does not remember old flags or preserve foreground mode. If a port is busy, stop the existing instance or choose another port.

    devin-pocket restart --port 7778 --no-open
    devin-pocket stop

Command reference

CommandPurpose
devin-pocket start
Start the background supervisor (default)
devin-pocket stop
Safely stop the tracked supervisor/server
devin-pocket restart
Stop and start with supplied options
devin-pocket status
Show liveness, uptime and configured URL
devin-pocket logs
Recent application log entries
devin-pocket doctor
Runtime, CLI, auth, ACP and path checks
devin-pocket models
Refresh catalog and print pricing/debug
devin-pocket open
Open 127.0.0.1 using the selected port
devin-pocket version
Print package version
devin-pocket help
Show command usage

Flags

FlagDefaultMeaning
--port N7777Server port
--host HOST127.0.0.1Bind address; no client auth
--cwd DIRprocess.cwd()ACP workspace
--agent CMDdevin acpAgent command override
--no-openfalseDo not launch browser
--devfalseForeground, no browser, dev health marker
--foregroundfalseRun start in current terminal
-f, --followfalseFollow logs
-n N100Number of log entries
-h, --help—Show help
-v, --version—Show version

Configuration and environment

~/.config/devin-pocket/config.json

{
  "port": 7777,
  "host": "127.0.0.1",
  "agentCommand": "devin acp",
  "workspaces": []
}

Defaults above. UI themes, language and thought visibility are actually stored in the browser. Paths honor XDG overrides. There is no DEVIN_POCKET_PORT or DEVIN_POCKET_HOST variable.

VariableValue / examplePurpose
DEVIN_POCKET_AGENTdevin acpAgent command; --agent wins
DEVIN_POCKET_VERBOSE1Mirror logs to stderr
DEVIN_POCKET_MODELS_FILE/path/models.jsonCatalog fixture/debug
XDG_CONFIG_HOME~/.configConfig root
XDG_STATE_HOME~/.local/stateLogs, pidfile, titles
XDG_CACHE_HOME~/.cacheModel catalog cache
DEVIN_POCKET_SUPERVISOR1Internal supervisor marker; do not set
DEVIN_POCKET_DAEMON1Internal worker marker; do not set
DEVIN_POCKET_LOCAL1General installer: install source directory

State files: devin-pocket.log, devin-acp.stderr.log, daemon.out.log, server.pid, titles.json, below the XDG state root / devin-pocket. Cache: models.json below the XDG cache root / devin-pocket (24-hour freshness). Workspace config entries have path, name and optional numeric lastUsedAt.

From source or a tarball

Use current Node.js 24 for development tooling and pinned pnpm 12.6.0. After building, use npm for the global tarball link: pnpm add -g <tgz> has been a silent no-op in some proot setups.

git clone https://github.com/BOTOOM/devin-pocket.git
cd devin-pocket
npm i -g pnpm@12.6.0
pnpm install --frozen-lockfile
pnpm run build
pnpm pack
npm install -g ./devin-pocket-*.tgz
devin-pocket doctor
devin-pocket start
npm install -g /path/to/devin-pocket-VERSION.tgz

Keep in mind

  • Diagnostics includes a downloadable JSON report, recent logs and model details. Reports may contain project paths: inspect and sanitize them first.
  • If login fails, use devin auth login on the host. Missing sessions depend on ACP/workspace scope; Pocket does not persist a separate session database.
  • Images are limited to 1.5 MB each; encoded messages also face a 2 MiB WebSocket payload limit.

Source of truth: the Devin Pocket README and implementation.

README