ago-cli is an interactive launcher for projects used in Codex and Claude.
It reads local history, shows a project picker, then opens the selected project with codex or claude.
- Read project history from both Codex and Claude local data.
- Merge duplicated paths across platforms (
codex,claude,codex/claude). - Fast fuzzy filtering with
-n <name>. - Default mode only shows existing projects.
-almode shows all records, including missing paths.- After selecting a project, always enter CLI choice (
codex/claude) and show the project path. - Recommended CLI logic:
- If both CLIs were used, recommend the most recently used one.
- If only one CLI was used, recommend that one.
- Language: TypeScript
- Runtime: Node.js (>=18)
- Build output:
dist/(compiled JavaScript)
Global install (recommended):
npm i -g ago-cliRun:
agoWithout global install:
npx ago-cliago [options]-a, --all: show all records (including missing paths).-al: alias of--all.-n, --name <name>: fuzzy match by project name/path/platform text.
# Only existing projects (default)
ago
# All records, include missing paths
ago -al
# Fuzzy match in existing projects
ago -n project
# Fuzzy match in all records
ago -al -n project- Default (
ago):Name | Date | Platform - All mode (
ago -al):Name | Date | Platform | Status
Date format is YY/MM/DD.
- If
-nmatches exactly 1 project, skip project list and go directly to CLI selection. - If
-nmatches multiple projects, show filtered project list and let user pick one. - If no match, print a message and exit.
- Always shown after a project is resolved.
- Choices are fixed:
codexandclaude. - Shows selected project path in the prompt.
- Includes a
Back to project listoption.
- Codex:
~/.codex/sessions/**/*.jsonl- Reads first line (
session_meta) and extractspayload.cwdplus timestamp.
- Reads first line (
- Claude:
~/.claude/projects/*/sessions-index.json- Extracts
entries[].projectPathplusmodified/fileMtime.
- Extracts
~/.ago/config.json
{
"roots": [],
"claudeCommand": "claude",
"preferredTool": "auto"
}roots: optional filter roots.claudeCommand: command name used for Claude launcher.preferredTool: fallback preference when history is unavailable (auto,codex,claude).
~/.ago/state.json
{
"lastLaunchedByPath": {
"/absolute/project/path": "codex"
}
}This stores the last CLI used per project path.
ago listis removed and intentionally unsupported.- In default mode, missing paths are not shown.
- In
-almode, missing paths are shown and marked asmissing.
npm test
npm run build- Only build artifacts are published.
- Package publish files are restricted to:
dist/README.mdLICENSE