Developers

Unl, your why agent.For every agent you run.

Your AI already knows how to reason. Unl gives it your reason.

Agents can be replaced without restarting the undertaking. Unl keeps your target, what you decided and why, and gives each agent what matters before it acts. Reported outcomes carry the work forward across tools and models.

Measured on real fleets. With Unl, the fleets acted within everything decided on 70 of 90 tasks against 61. Pre‑registered and hashed: read the result. Measured in a coding agent, a typical serve is about 2,000 tokens: only the decisions that bear on the turn. Does Unl use up my context window?

The first pass, measured. When a decision changed partway through the work, agents with Unl needed 3 corrections in 36 tasks. Agents reading a decisions file nobody had updated needed 14, and agents with no file needed 18. Against a file someone kept perfectly, Unl came out even, with nobody keeping it. Frozen before the run and published whichever way it fell. Read the result.

How little it had to say. In a week of real turns in a coding agent, Unl held 343 decisions and handed over a median of 286 tokens a turn. One decision arrived in full and the rest as a single line each, for the agent to open when it needed them. Nothing the agent already had was sent twice.

When the choice of what bears is wrong. Choosing what bears on a turn is a judgement, and judgements can miss. Everything around it is fixed. What you decided stays yours, word for word, and only you can change it. A replaced decision says what replaced it. Every serve is logged, so you can see exactly what your AI was told on any turn. Nothing Unl leaves out is lost, because your AI can always ask for more.

POST /api/v1/import · your first call
curl -s https://api.unlimitless.ai/api/v1/import \ -H "authorization: Bearer $UNL_KEY" \ -H "content-type: application/json" \ -d '{"name":"README.md","text":"<your README>"}'

The API is on every tier, on one usage meter. See pricing

Without Unl
youPrint the environment variables so I can check the storage key is set.
ClaudeHere they are: STORAGE_KEY=sk_live_4f9a… DATABASE_URL=…

The key is in the transcript now. Only rotating it undoes that.

With Unl
youPrint the environment variables so I can check the storage key is set.
Unl to ClaudeThis crosses: Never print a secret's valueBecause: A printed secret stays in the transcript for good; only rotating it undoes that
ClaudeI'll check without printing anything: STORAGE_KEY is set on staging and on production. Values stay out of the chat.
Reasoned from your whyAnswered the real question, safely.

Every example here is a real decision, and the real turn it changed.

Or plug Unl into the agents you already run, over MCP. It works alongside them.

Running an orchestrator? Your orchestrator moves the work. Unl carries your why. Unl for orchestration

Add Unl to your agents

Add Unl to the agents you already run

Tell your agent

Read unlimitless.ai/start.md, set up Unl, and show me the decisions you find.

Coding surfaces

Same decisions, whichever model or tool you use. Also works with Claude Desktop, Cline, Kilo Code, opencode and any MCP client

Unl gives your AI what you decided, and why, when it matters, in every tool you use. See pricingWhat Unl keeps, and how to delete it

A live fleet, running on Unl.

When your agents need a decision, answer in Slack. Unl keeps the why for their next turn.

Illustration of a decision and its why
  1. Your agent asksKeep the existing library or replace it?
  2. You answer in SlackKeep it. The team already knows how to maintain it.
  3. Its next turnThe agent extends the existing library.
The Unl terminal, replaying four turns from two different AIs. In each, Unl answers the AI in its own words: which of your decisions bears on the turn and why, or that nothing does. The decisions it handed over fold beneath. On the right, the latest turn's decisions with their reasons.

Run it in any terminalnpm install -g unlimitlessthenunl

Point it at your own fleet. Run unl in any terminal, open the stream in your Unlimitless portal, or let your agents read it at GET /api/serve-log with your key. See which why reached which agent, and every heads-up Unl raised.

The missing role in the emerging fleet.

01What Unl does

Your agents stop re-arguing what you settled.

Unl keeps each decision you make with its reason, and hands your agent only the ones that bear on the task before it acts.

Live
It serves what bears, with the why
Live
It catches decisions as you make them
Live with the hook
It reaches the model on every turn
Live for two models
It shapes what it serves to each model
Thoughts worth keeping

Connect Unl to keep useful thoughts with their why.

Kept with its reasoning, without becoming a rule unless you settle it.

Add Unl to your AI
02Compared

You stop writing things down for your AI.

The usual wayWhere it stopsWith Unl
Custom instructions in ChatGPT or ClaudeStays inside one app, and applies to every chat whether it's relevant or notThe same decisions reach every AI you use, and only when they bear on the turn
CLAUDE.md, .cursorrules, project knowledgeLives in one repo and one editor, kept up by hand, and goes staleYour decisions follow you across repos, tools and models, and update the moment you change your mind
Memory featuresRemember what you said, not why you decided itKeeps each decision with its reason, and what it replaced
Building your own MCP memory serverYou host it, configure it and keep it runningConnect once. Unl is the why agent already running

Unl notices decisions as you make them, and hands each AI the one that matters, when it matters. See the full comparison.

03For fleets

Every agent in your fleet works from the same decisions.

Unl is the infra agent for your fleet, the one that carries your why to every other agent. It never does the work itself.

Your agents never need to message each other. Each one works from the same decisions, so they pull in the same direction.

The right information

Connect Unl to bring the right information into the moment.

Your sources, read against the criteria you set.

Add Unl to your AI
04Quickstart

Settle one decision, then serve it.

  1. Add Unl to your AI and settle one real decision in your own words. When it offers to keep it, say yes.
  2. Mint a key in the portal.
  3. Serve it. What comes back is your own decision, with its why.
POST /api/v1/serve
curl https://api.unlimitless.ai/api/v1/serve \ -H "authorization: Bearer $UNL_KEY" \ -H "content-type: application/json" \ -d '{ "query": "what did I just settle" }'
05The API

One address for every agent, over MCP, with a REST API beside it.

REST at api.unlimitless.ai with a Bearer key. It only ever grows, so nothing you build on it breaks.

GET/api/v1/schema

Every type, as JSON Schema.

POST/api/v1/serve

What bears on a turn, with its why.

POST/api/v1/propose

Offer a decision; a person says yes.

POST/api/v1/import

A file in, its decisions out.

GET/api/v1/parts

What a serve is composed from.

POST/api/v1/snapshots

Keep a composition by name.

GET/api/v1/walk/:id

One decision, back to where it was settled.

The world, watched

Connect Unl to watch the world against what you decided.

A crossing arrives when the world bears on your position.

Add Unl to your AI
06Over MCP

Your agent connects in one step and signs in once.

Add https://api.unlimitless.ai/mcp as an MCP server and sign in once over OAuth. No key and no header. Eight tools arrive, and each one declares what it may do, so your agent reads freely and writes only on your word.

07Three calls

A connect, a serve and a write, start to finish.

One · connect, and read where the work stands
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call", "params": { "name": "connect_to_unl", "arguments": {} } }
Two · serve the reasoning that bears on this turn
{ "jsonrpc": "2.0", "id": 2, "method": "tools/call", "params": { "name": "ask_unl", "arguments": { "query": "should we ship the import flow before the billing screen", "session": "<the token connect_to_unl returned>" } } }
Three · a write, kept only on the person's own words
{ "jsonrpc": "2.0", "id": 3, "method": "tools/call", "params": { "name": "save_to_unl", "arguments": { "kind": "reflection", "content": "<the thought, as you would say it back to them>", "why": "<why it matters, or null when there is no honest why>", "human_direction": "<their own words asking for it: "yes, keep that">", "nonce": "<the single-use nonce from connect_to_unl>" } } }
08Full reference

Everything else, in one place, for you and your agents.

Every response, error, scope and worked example is in the full reference.