Chainlink CLI
A SQLite issue tracker for AI agents: sessions with handoff notes, dependencies, templates and Claude Code hooks
- 366 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The hooks step into every prompt and can block file writes and git commands
- The `chainlink delete -f` and `close-all` commands change the issue database, and the first deletes without confirmation
Install
- Works in
In your terminal, with SkillFoxx CLI
npx skillfoxx add cli/chainlinkDetects the agents on your machine, shows the access level and pins the version.
Other ways to install
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The hooks step into every prompt and can block file writes and git commands
- The `chainlink delete -f` and `close-all` commands change the issue database, and the first deletes without confirmation
This is third-party code. Review the repository files before installing.
What it does
Chainlink is a local issue tracker CLI for AI-assisted development. It installs from crates.io as `chainlink-tracker`, and the data lives in the SQLite file `.chainlink/issues.db` with no network use. Issues have priorities, labels, subissues, dependencies, relations, milestones and timers, and the `chainlink next` and `chainlink ready` commands suggest what to pick up. The main idea is sessions. `chainlink session start` shows the handoff note from the previous session, `session action` leaves breadcrumbs that survive context compression, and `session end --notes` writes a note for the next session. Sessions idle for more than four hours are closed at the next start. The `chainlink init` command installs Claude Code hooks into a project. They inject rules for the project language (Rust, Python, JavaScript, Go and others) into prompts, remind about checks after edits, and in `strict` mode block writing files without an active issue. Git commands that change history, such as push and commit, are blocked by the hooks in every mode: those are human operations.
Who it is for. Developers who run projects through Claude Code and want the agent to remember tasks and work state between sessions.
Good fit when
- A session broke off halfway and the next one should start from a note on what was done and what comes next
- A 500-line task has to be split into subissues so the agent takes one at a time
- The agent must not write code without a created issue: the `strict` mode does that
- You want to keep issues in the repository with no external service: everything sits in local SQLite
- Language rules should reach any agent, not only Claude Code: `context-provider.py` handles that
Not a fit when
- You need a shared web interface and sync between people: the data is local and there is no sync
- The agent must commit and push itself: the hooks block such commands in every mode
- The machine has no Python 3.6 or newer: the hooks do not work without it
Example request
Create an issue "Fix token refresh" with high priority, start working on it and leave a handoff note at the endLimitations
The hooks need Python 3.6 or newer. Data is stored locally, with no sync or team mode. The git command block can be changed in `.chainlink/hook-config.json`, but by default it applies in every mode.
The author marks the code as AI-generated, and the project is young. Before putting important issues into it, make a copy with `chainlink export -o backup.json`.
In `strict` mode an agent without `chainlink session work <id>` cannot change files until you switch the mode. The latest commit in the repository is dated August 2026.
How to disable. Delete the `.claude/hooks/` directory and the hooks block in `.claude/settings.json`, and keep `.chainlink/` if you still need the issues. The binary itself is removed with `cargo uninstall chainlink-tracker`.
FAQ
How do I install Chainlink?
Run `cargo install chainlink-tracker`: the binary is called `chainlink`. In a project run `chainlink init`, which creates `.chainlink/` and installs the Claude Code hooks.
Where are issues stored?
In the SQLite file `.chainlink/issues.db` inside the project. There are no external services or network requests, and `chainlink export -o backup.json` makes a backup.
How do the strict, normal and relaxed modes differ?
In `strict` the hooks block writes and Bash commands without an active issue, in `normal` they only remind, and in `relaxed` they stay almost silent. Blocking of git write commands applies in every mode.
Why can the agent not run git commit?
The hooks block push, commit, merge, rebase and similar commands as human operations. Read-only commands such as `git status` and `git diff` are allowed, and the block list is edited in `.chainlink/hook-config.json`.
How do I use Chainlink outside Claude Code?
The `context-provider.py` script builds context for any agent in XML, Markdown or JSON: the project language, session state, open issues and project structure. You mix the result into the prompt.
Discussion
No questions or reviews yet.
Related
CLI toolsLinear CLI
linear-cli
A Linear CLI for the terminal: list, start and create issues, PRs from a branch, JSON output and an agent skill, with git and jj support
A task tracker for agents: tasks with context and result live in JSONL beside the code and outlive sessions
A CLI and skill for Yandex Tracker and Wiki: short output readable by people and agents alike, instead of raw MCP payloads costing thousands of tokens
Yandex Tracker CLI
tracker
The tracker command-line tool for Yandex Tracker with JSON output and a ready SKILL.md workflow for agents
TokenTracker counts tokens and spend across Claude Code, Codex, Cursor, Gemini CLI and other agents from local logs and shows them on a local dashboard
CodeKanban gathers terminals and Claude Code and Codex sessions on one page, and codekanban-cli drives them from an agent
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| Chainlink (this card) | no | 366 | ||
| Beads | no | 28,540 | the bd tracker with a dependency graph on Dolt, while Chainlink stores data in SQLite and adds Claude Code hooks that block git commands | |
| Taskmaster | no | not required | 28,310 | splits a PRD into tasks and leads the agent through them over MCP or CLI, while here the emphasis is on sessions and handoff notes |
README in short
The document lists features, installation and a quick start, then command tables by section: issues, comments, dependencies, milestones, archive, export, navigation, timers, sessions and the daemon. It then describes the hooks, tracking modes, the rules in `.chainlink/rules/` and connecting other agents.