-
Notifications
You must be signed in to change notification settings - Fork 0
Exit Codes
Rafael Fragoso edited this page Jun 8, 2026
·
2 revisions
Columbus uses stable, scriptable exit codes. Pair them with the --json error
envelope (JSON Contract & Errors) for
precise handling.
| Code | Meaning |
|---|---|
0 |
Success (including "usable with warnings" — e.g. memory drift) |
1 |
Runtime error (e.g. symbol not found) |
2 |
Usage error (bad flags/arguments) |
3 |
Not initialized / index missing (run columbus install / columbus reindex) |
4 |
Transient / retryable (e.g. index writer locked) |
Not initialized (3):
$ columbus search foo # in a dir with no .columbus.json
error [NOT_INITIALIZED]: no .columbus.json found
hint: run columbus install
$ echo $?
3Not found (1):
$ columbus show symbol DoesNotExist --json
{"command":"symbol","error":{"code":"NOT_FOUND","message":"symbol not found: DoesNotExist"},"ok":false,"schema_version":1}
$ echo $?
1-
Warnings are not failures. Memory/reference drift exits
0— it is surfaced, never fatal. -
4is retryable. A locked index writer means anotherindexis running; back off and retry. - Diagnostics print to stderr; results to stdout.
Columbus — the navigator your coding agent has been missing · local-only, deterministic code context · Repository · Issues · MIT License
Getting started
Concepts
Guides
- Using Columbus with Your Agent
- Searching Effectively
- Navigating Code
- Project Memory
- Tracking Work: Epics, Stories & Tasks
- Keeping the Index Fresh
Command reference
Reference
- Output Modes
- JSON Contract & Errors
- Exit Codes
- Configuration
- Supported Languages
- Color & Environment
Project