The management layer for AI coding

Every token, accounted for.

PlanckSpace meters what your team spends on Claude Code, Cursor and the API, finds the waste, and proves every saving.

Book a demo

Meters every seat and every API key your team pays for

  • Claude Code
  • Cursor
  • Anthropic API
  • OpenAI API
  • Windsurfbeta
  • Antigravitybeta
  • Amazon Bedrock

Where AI coding spend leaks

Seats nobody opens. Opus doing Sonnet's job. An 11k-token CLAUDE.md re-read on every single turn.

None of it shows up until the invoice does.

PlanckSpace finds it in your session metadata, prices it in real dollars, names the repo and the team, and hands you the fix.

The detection engine

It finds the waste. Then it prices it.

Detectors read your session metadata and your seat plans, and every finding arrives with a dollar figure, an owner and the fix attached.

MeteredOff the bill

$1,380/mo

todayOpus 64% · Sonnet 36%
with a routing ruleOpus 11% · Sonnet 89%

Premium model on routine work

Opus is answering questions Sonnet ships just as well.

Fix: one click in VS Code, a model-routing rule

MeteredOff the bill

$640/mo

Context re-read on every turn

The same 11k-token CLAUDE.md is sent again with every message.

Fix: one click, CLAUDE.md split into an on-demand index

MeteredOff the bill

$410/mo

41%

prompt tokens from cache · 90% is typical

Cold prompt cache

Only 41% of prompt tokens come from cache on the API keys.

Fix: guided, handed to your own Claude Code with the numbers

Plan fitOff the bill

$360/mo

Max seat 1 · 30-day peak usage

Pro ceilingMax ceiling

Max seat 2 · 30-day peak usage

Pro ceilingMax ceiling

Max seats used at Pro levels

Two $200 seats never came near the $20 plan's ceiling.

Fix: guided, move two seats to Pro

SeatOff the bill

$320/mo

Dormant seats

Four paid seats had no sessions in 30 days.

Fix: guided, reclaim four seats

Removable this month

$3,110

/mo, all real dollars

Five findings, ranked by what they take off the invoice. Seat time freed on flat plans is reported beside it as imputed and never added in.

Fix it in one click. Undo it in one more.

The VS Code extension puts each finding next to your code with the fix attached. It runs in Cursor and Windsurf too, and your own numbers never leave your machine.

CLAUDE.md · web · Visual Studio Code

PLANCKSPACE

Spent

$412

Dead ends

$61

Removable

$134/mo

you · this month · computed on this machine

ActivitySkillsOptimizeInsights

FIXES FOR YOU

Split CLAUDE.md into on-demand sections

readymeasuringimproved

11.2k tokens re-sent every turn · est. $96/mo

Fix nowApplying…AppliedPreview

Add a model-routing rule

readymeasuringimproved

64% of sessions on Opus, 71% routine · est. $38/mo

Fix nowApplying…AppliedFix with Claude Code

Default new sessions to Sonnet

applied

applied Sep 18 · backed up

Session discipline rules

not needed

3% of sessions abandoned, nothing to fix

Before / after · CLAUDE.md split

3 sessions since

context read per turn

before11.2k
after11.2k
M↓ CLAUDE.md+ 5 files in .claude/context/

web › CLAUDE.md

1# web
2
3## Testing
4Run vitest in watch mode. Snapshot tests live in __snapshots__ next to
5the component. Never update snapshots without reading the diff first.
6Integration tests need the local stack: docker compose up db redis.
7
8## Deploy
9Preview deploys run on every PR. Production deploys are tagged releases
10cut from main by the release workflow. Never deploy from a laptop.
11Rollback: re-run the previous tag's workflow, then open an incident.
12
13## Style guide
14Components are function components with named exports. Tailwind only,
15no CSS modules. Colours come from tokens.css, never a raw hex.
16
17## API conventions
18Every route validates input with zod and returns typed errors. Money is
19integer cents end to end; format only at the edge. Timestamps are UTC.
20
21## Architecture
22The app router owns routing; data fetching goes through lib/api.ts...
1# web
2
3Context lives in .claude/context/. Open the file for the task at hand:
4- Testing .claude/context/testing.md
5- Deploy .claude/context/deploy.md
6- Style guide .claude/context/style.md
7- API conventions .claude/context/api.md
8- Architecture .claude/context/architecture.md

1,960 tokens, down from 11,240. Sections load only when a task needs them.

TERMINALPROBLEMSOUTPUT

~/payments-api $

● I'll add the rule to .claude/settings.json. Here is the plan and the diff before I write anything.

CLAUDE.md split into 5 on-demand sections. Every touched file is backed up in ~/.planckspace/fix-backups.

DismissUndo
⎇ mainPlanckspace · $14.20 today · billed
  1. Fix now
  2. Backed up, undoable
  3. Measured after
  4. Handed to Claude Code
  • Mechanical fixes apply in one click

    Split an oversized CLAUDE.md, add a model-routing rule, set session rules, default new sessions to Sonnet.

  • Judgement calls go to your own agent

    Fix with Claude Code opens a visible terminal with a prompt carrying the measured data. It shows the plan and the diff first.

  • Nothing is one-way

    Every file a fix touches is snapshotted first. Undo is one click, from the toast or the command palette.

Savings you can audit.

A fix only counts once your own telemetry shows the metric moved. Every saving carries its receipt, and the part of a forecast that didn't happen is never booked.

$1,980/mo

off the bill, verified · $1,916 saved to date · $23,760 a year at this rate

+$180+$80+$1,120+$600Aug 1Sep 1Today
  • verified Aug 4receipt

    A Max seat used at Pro levels

    max_plan_session_pct

    after 0before 100

    +$180100% of forecast
    held up
  • verified Aug 11receipt

    Two Cursor seats with no sessions

    paid_seat_count

    after 18before 20

    +$80100% of forecast
    held up
  • verified Aug 26receipt

    Premium model on routine work

    sessions on Opus

    after 11%before 64%

    +$1,12083% of forecast
    held up
  • verified Sep 12receipt

    CLAUDE.md re-read every turn

    context tokens per turn

    after 3.1kbefore 11.2k

    +$60091% of forecast
    held up

The privacy model

Metadata in. Your code never leaves.

The CLI reads the session logs your tools already write, on your machine, and sends counters: tokens, timings, model, repo and git email. Never prompts, responses or code.

on your machine

stays here

what reaches your workspacemetadata

$ planck inspect ses_8f2a91c

  • {
  • session: "ses_8f2a91c"
  • tool: "claude_code"
  • model: "claude-sonnet-5"
  • repo: "payments-api"
  • branch: "main"
  • author: "mara@halyard.dev"
  • turns: 18
  • tokens: { in: 12840, out: 5364, cache_read: 91% }
  • active_min: 14
  • cost_usd: 2.41
  • billing: "metered"
  • }
  • Nothing is proxied or intercepted. The CLI reads logs your tools already write.

  • A workspace policy can hide developer names from everyone, leadership included.

  • planck inspect prints exactly what left the machine for any session.

Guardrails the whole org can read.

Budgets that burn on billed dollars, alerts when a repo runs far above its usual, coverage that names who isn't reporting, and invoices checked against what was metered.

Budgets that know the calendar

A ceiling on billed spend, the pace to month end, and a pin where each threshold was crossed.

Workspace budget

$9,860of $15,000 billed in September

66% used with 90% of the month gone, comfortably behind the calendar

On track
50%80%ceiling $15,000Sep 1Sep 15Today
Alerts at50% · Sep 1680%100%burns on billed dollars only

Coverage, not guesswork

A partial fleet reads as incomplete, never as a small total.

38/42developers reporting

3 silent for 26h · 1 never connected · invites one command away

Invoice check

The provider's own report, held up against the spend PlanckSpace metered.

  • Anthropicwithin 0.8%

    invoice$7,912
    metered$7,850
  • OpenAIwithin 0.9%

    invoice$1,644
    metered$1,630

One score, every point explained

AI posture: how well spend turns into shipped work, and the factor costing the most.

82of 100

  • Cache efficiency27.4/31.3
  • Shipped outcomes19.2/25
  • Model routing17.5/25
  • Seat utilization17.9/18.7
  • Biggest drag: model routing, 7.5 pts

Team performance, ranked

Spend share, shipped work and cost per shipped session for every team.

  • Most efficient

    Platform

    $1.92

    per shipped session

  • Most improved

    Mobile

    -31%

    cost per shipped

  • Most shipped

    Growth

    1,104

    shipped sessions

One ledger. Three ways to read it.

The backend scopes every number by role, so each person sees their own slice and nothing they shouldn't.

What AI costs, what it returns, and where it is heading.

  • Seats and API spend in one billed number
  • Cost per shipped session, by team
  • Verified savings you can put in front of a board

$13,520

billed this month

$2.84

per shipped session

$1,980

verified savings

Your team's spend and output, without policing anyone.

  • A team-scoped view: spend, ship rate, budget burn
  • A check-in prompt when a rate drops, never a wall of names
  • Budgets and alerts per team
  • Developer A74%
  • Developer B66%
  • Developer C61%
  • Developer D38%
  • Developer D might want a hand: a check-in, not a flag

Your own numbers, in your editor, for your eyes.

  • The extension works with no account at all
  • Fix your own waste in one click, undo in one
  • The before and after of every fix you apply

Spent

$412

Dead ends

$61

Removable

$134/mo

you · this month · computed on this machine

How it goes live

A real number in minutes.

We set your workspace up with you on the demo call. From there, rollout is one command per developer, and the extension works on its own from the first open.

  1. 1

    Run one command

    Each developer connects with a one-time code. No tokens pasted into shells, nothing proxied.

  2. 2

    It reads the last 30 days

    Session history is already on disk. The CLI backfills it, then a small daemon keeps it current.

  3. 3

    You get a real number

    What is recoverable this month in billed dollars, or exactly what data it still needs. Never a placeholder zero.

~/halyard/web

$ npx @planckspace/cli@latest init --code 4F9K2

✓ Connected to halyard as mara@halyard.dev

✓ Found Claude Code and Cursor session logs

✓ Backfilled 30 days · 412 sessions · metadata only

✓ Daemon installed · syncs every 60s

Recoverable this month $134/mo real, billed

CLAUDE.md re-read every turn $96/mo

Opus on routine sessions $38/mo

Rolling out to a team

Paste one join command in the team channel. Each developer joins as themselves.

$npx @planckspace/cli@latest init --join pk_join_…

In the editor

Works with no account. VS Code, or Cursor and Windsurf through Open VSX.

Fair questions, straight answers.

Something we have not covered? Ask us directly. A founder replies.

AI coding tools already write session logs to your machine: model, token counts, timestamps. The PlanckSpace CLI and its background daemon read that metadata locally, price it at current model rates, and sync the numbers to your workspace. Nothing is intercepted, proxied or injected into your editor.

See what your AI bill is made of.

Thirty minutes with a founder, on your own tools and your own numbers. If you don't need us yet, we'll say so.