enkeon
v0.13.2
Published
Enkeon CLI — `npx enkeon connect` wires Enkeon MCP and its rules into every AI tool (Claude Code, Cursor, Antigravity, OpenClaw, Hermes, Codex, Windsurf) plus SDK/terminal. JSON-first for humans and agents.
Maintainers
Readme
enkeon — Enkeon CLI
Enkeon was called ThinkingRoot; the thinkingroot command, @thinkingroot/* packages and THINKINGROOT_* variables keep working.
One command covers everything — sign in, create your ThinkingMemory, connect Cursor / Claude / Codex / SDK / terminal, and see it working.
npx enkeon connectThat’s the whole product surface in one ritual. Built for humans and AI
agents: --json everywhere, non-interactive flags, env-var auth, stable exit
codes.
Setup (the hero path)
npx enkeon connect # picker → finishes that path (+ SDK/CLI)
npx enkeon connect --agent claude-code # Claude Code scenario
npx enkeon connect --agent everything # all tools
npx enkeon connect --prompt # paste into Claude/Cursor — agent integrates you
npx enkeon connect --yes # no prompts; full ground
npx enkeon connect --json --yes # agent / CI contract
npx enkeon connect --name "Acme ThinkingMemory"
npx enkeon connect --token <jwt>
npx enkeon connect --rename # move an entry older versions named `thinkingroot` to `enkeon`What setup does:
- Which agent? — Claude Code · Cursor · Codex · Windsurf · Cline · Aider · OpenCode · Goose · Amp · Desktop · App · Everything
- You — browser device-flow login (or
--token/--email) - Your ThinkingMemory — create or select a project + mint
tr_sk_ - Connect — wire that agent + SDK + CLI (or everything)
- Try it —
remember+askso you feel it working
tip: AI agents can use enkeon connect --prompt
Install
npm i -g enkeon # or use npx enkeonBinaries: enkeon, plus thinkingroot and the short alias trc. Requires Node ≥ 22. Zero
runtime dependencies (native fetch + node:util).
How context reaches your tools
connect adds one MCP entry per tool. Nothing else runs on your machine: no
hooks, no background process. The Enkeon server brings the context
itself:
- When a session opens — the rules, then a short note on where things stand: what is still open, your branches, who you are, where the last session stopped. Claude Code, ChatGPT, Codex and VS Code show it to the model from the first message.
- On the first Enkeon answer — the full brief, for tools that do not show a server's opening note.
- While you work — what a teammate or another tool saved since the session opened, once each.
Older versions of connect installed session hooks for Claude Code, Cursor
and Codex. connect and disconnect now remove them (only ours — any other
hook is left alone), and doctor flags any that are left.
See it in the terminal
enkeon statusline install # Claude Code's status line (connect offers it)Status line. Claude Code shows one line under the prompt:
enkeon ● this session: 6 recalled (3 Gmail, 1 Codex) · 2 saved · 1 conflict settledWhat Enkeon handed this session, and where the ones that did not come from
this tool came from (a connected app, or another AI tool that saved them);
what this session saved; and conflicts with a team decision that were caught
and settled (the AI tool settles them; nobody is asked). The counts are read
from this session's own transcript, so two windows never mix. 0 recalled
means your AI is working without your context. When something needs you — an
app that stopped syncing, a sign-in never finished, credits running out — a
warning is added at the end. A status line you already have is kept and runs
first; enkeon statusline uninstall (or disconnect) puts it back.
The line is printed from a local cache and refreshed in the background, so it
never waits on the network.
Auth (also used by setup)
enkeon login # browser device-flow (default)
enkeon login --email [email protected] --password '…'
enkeon login --token <jwt-or-tr_sk_> # CI / agents| Env var | Purpose |
| --- | --- |
| ENKEON_TOKEN | account session token (control-plane ops) |
| ENKEON_PROJECT_KEY | tr_sk_ project key (engine ops) |
| ENKEON_PROJECT | current project id |
| ENKEON_GATEWAY_URL | override gateway (default https://api.thinkingroot.com) |
| ENKEON_JSON=1 | force --json output |
Each also works under its old THINKINGROOT_ name; the ENKEON_ one wins when both are set.
Other commands
login | logout | whoami
setup ← start here
init scaffold a Brain-as-Code /brain folder
project list | create | use <id> | status
key list | create | revoke
push | compile | deploy
ask "<question>"
memory remember | recall | profile
agent | fn | branch | prompt | user | route
logs | status | usage
mcp print MCP client configAgent contract
--json→ one JSON document on stdout.--yes/ non-TTY → never prompts.- Exit codes:
0ok ·2usage ·3auth ·4not-found ·5rate-limit ·6unavailable.
Architecture
One operation core (src/api.mjs) behind three faces: the human CLI, the
--json agent surface, and @enkeon/mcp. Pure modules are unit-tested
with node --test.
