Id

Id (capital I) is the coding agent CLI for product id (Freud naming). It runs on your machine, calls gateway.idlidu.dev for models, and meters every burn in prepaid USD. Not a VS Code fork.

Product overview: www.idlidu.dev/id · Install: /install · CLI cheat sheet: /docs/cli

Install

curl -fsSL https://www.idlidu.dev/install.sh | bash
source ~/.config/Id/shellenv
Id health

Requires Node.js 20+. Binary is Id so it does not shadow Unix id(1).

export ID_API_KEY=idl_…
export ID_GATEWAY=https://gateway.idlidu.dev   # optional
export ID_API=https://api.idlidu.dev           # optional
# or: ~/.config/Id/env

Modes

Id ask "…"     # read-only tools
Id plan "…"    # approve before mutate
Id run "…"     # full agent (default)
Id debug "…"   # instrument → evidence → fix
ModeBehaviour
AskRead-only tool allowlist
PlanPropose plan; approve before write/shell mutate
AgentFull tools (default interactive)
DebugInstrument → evidence → fix

Permissions: manual · accept_edits · plan · auto · yolo. Headless -p / --print does not auto-approve tools.

REPL

Id                 # interactive REPL
/ask /plan /agent /debug
/budget 0.25
/model bottom
/permissions manual|auto|yolo
/steer <text>      # mid-run follow-up
/status /help /exit

↑↓ recall prompts · Ctrl+V / Shift+Insert paste · Esc cancels a run.

Model selection

Default model string is bottom. The gateway picks a concrete catalog id via Bottom fishing. Pin with --model anthropic/… or /model, or raise --effort high.

Deep dive: Bottom routing.

Budgets & balance

  • Turn budget — stops the local loop when spend hits the cap (--budget / /budget / key default)
  • Key hard limit — lifetime spend on that idl_ key (enforced on gateway)
  • Account balance — prepaid credits; hard stop at $0
  • Soft monthly cap — local warn/stop (Id soft-cap); bypass with --force
  • Low-balance alert — ≤15% of last top-up (and same % of key hard limit); threshold in app Settings

Boot line shows balance $… and budget $…/turn separately.

Tools & safety

  • Local FS: read / write / edit / grep / glob · .idignore
  • Sandboxed shell (network off by default; --shell-net / ID_SHELL_NET=1)
  • web_fetch · Playwright MCP browser · mail (Thunderbird Gloda, read-only)
  • Explore / task subagents under a tree budget · Id best-of-n
  • Rules: AGENTS.md · .id/rules/ · skills · hooks · pending diffs

Useful commands

CommandPurpose
Id healthGateway + API reachability
Id modelsCatalog from gateway
Id sessions / resumeSession list / continue
Id skills …List / search / install skills
Id import-rulesImport Cursor / Claude rules
Id pr-fix [--watch]PR autopilot (gh)
Id handoff "…"Queue cloud long-run
Id serve [--acp]JSON-RPC / ACP for embeds
Id metricsStay-rate / linkage KPIs
Id updateReinstall from www

Embeds

  • Id serve — NDJSON RPC for VSCodium extension
  • Id serve --acp — ACP-shaped stdio (Zed and friends)
  • Neovim example in the Id source tree

HTTP agent surface (cloud): Agent API.

Telemetry

Consented structured traces (usage, behaviour, thinking, writing) flush to idlidu.dev. Args redacted; crash-safe flush. Opt out: --no-telemetry.

App: usage · traces · metrics

CLI reference · Gateway · Billing · Reference