This page gets you from install to a useful first disco session.
DisCo is distributed as an npm package:
npm install -g --ignore-scripts @auto-ml-skills/disco--ignore-scripts disables dependency lifecycle scripts during install. DisCo does not require install scripts for normal npm installs.
Use the package manager that installed DisCo:
# npm install -g
npm uninstall -g @auto-ml-skills/disco
# pnpm
pnpm remove -g @auto-ml-skills/disco
# Yarn
yarn global remove @auto-ml-skills/disco
# Bun
bun uninstall -g @auto-ml-skills/discoUninstalling disco leaves settings, credentials, sessions, and installed disco packages in ~/.disco/agent/.
Then start disco in the project directory you want it to work on:
cd /path/to/project
discoDisCo can use subscription providers through /login, or API-key providers through environment variables or the auth file.
Start disco and run:
/login
Then select a provider. Built-in subscription logins include Claude Pro/Max, ChatGPT Plus/Pro (Codex), and GitHub Copilot.
Set an API key before launching disco:
export ANTHROPIC_API_KEY=sk-ant-...
discoYou can also run /login and select an API-key provider to store the key in ~/.disco/agent/auth.json.
See Providers for all supported providers, environment variables, and cloud-provider setup.
Once disco starts, type a request and press Enter:
Summarize this repository and tell me how to run its checks.
By default, disco gives the model four tools:
read- read fileswrite- create or overwrite filesedit- patch filesbash- run shell commands
Additional built-in read-only tools (grep, find, ls) are available through tool options. DisCo runs in your current working directory and can modify files there. Use git or another checkpointing workflow if you want easy rollback.
DisCo loads context files at startup. Add an AGENTS.md file to tell it how to work in a project:
# Project Instructions
- Run `npm run check` after code changes.
- Do not run production migrations locally.
- Keep responses concise.DisCo loads:
~/.disco/agent/AGENTS.mdfor global instructionsAGENTS.mdorCLAUDE.mdfrom parent directories and the current directory
Restart disco, or run /reload, after changing context files.
Type @ in the editor to fuzzy-search files, or pass files on the command line:
disco @README.md "Summarize this"
disco @src/app.ts @src/app.test.ts "Review these together"Images or text can be pasted with Ctrl+V (Alt+V on Windows); images can also be dragged into supported terminals.
In interactive mode:
!npm run lint
The command output is sent to the model. Use !!command to run a command without adding its output to the model context.
Use /model or Ctrl+L to choose a model. Use Shift+Tab to cycle thinking level. Use Ctrl+P / Shift+Ctrl+P to cycle through scoped models.
Sessions are saved automatically:
disco -c # Continue most recent session
disco -r # Browse previous sessions
disco --name "my task" # Set session display name at startup
disco --session <path|id> # Open a specific sessionInside disco, use /resume, /new, /tree, /fork, and /clone to manage sessions.
For one-shot prompts:
disco -p "Summarize this codebase"
cat README.md | disco -p "Summarize this text"
disco -p @screenshot.png "What's in this image?"Use --mode json for JSON event output or --mode rpc for process integration.
- Using DisCo - interactive mode, slash commands, sessions, context files, and CLI reference.
- Providers - authentication and model setup.
- Settings - global and project configuration.
- Keybindings - shortcuts and customization.
- DisCo Packages - install shared extensions, skills, prompts, and themes.
Platform notes: Windows, Termux, tmux, Terminal setup, Shell aliases.