selan.ai

How it works

One proxy between your team and the model

Add the accounts you already pay for, give your developers one command, and Selan sends every request to the account that should serve it. Below is the control app, one screen at a time, and what each one tells you.

1Insights

Where did the time go?

  • Hours by repository, each bar split by the people who were in it, and the same hours read the other way, by person.
  • Context reuse per repository: how much came back out of the cache instead of being processed again.
  • Every duration is lease time: how long a credential was held, not time at a keyboard.
  • It records the repository, who ran the session, and what it cost. Never prompts, transcripts, tool names or files touched.
Repositories · split by person · 7 days
Four repository rows — selan-proxy, selan-website, selan-control, selan-cli — each bar split into per-person segments, with token totals from 111.4M down to 36.5M
Context reuse · per repository
The scale: Poor 0–49%, Watch 50–74%, Healthy 75–100% The four repositories against that scale: three Healthy at 85, 89 and 90 percent, and selan-cli flagged Watch at 63 percent

2Spend

Where did the money go?

  • What the window cost on your own API keys, and what the same traffic would have been at API list price.
  • The share of that list price your subscriptions absorbed: one number for whether the seats earn their keep.
  • Every credential you brought in one bill, subscription seats beside API keys, read by model, by credential, by person.
  • Usage and Insights measure the window from the same rollup, so the two pages cannot disagree about it.
Spend · 7 days
Three stacked figures: API cost $77.88 charged per token on the company's own keys, $261.12 equivalent value at API list price on subscription plans, and 77.0% of the window's list-price value absorbed by the seats, with a progress bar
By credential
Two credentials sharing one bill: Claude Max — engineering at 243M tokens, 84%, and API key — overflow & CI at 47.2M, $77.88, 16%
By member
Four members with tokens and share of usage each: tomas 94.5M at 33%, jonas 83.1M at 29%, greta 45.6M at 16%, ona 66.9M at 23%

3Connections

Verified connections, ready for work.

  • A catalog of connectors (GitHub, GitLab, Linear, Jira, Sentry, Notion, Figma, Stripe and the rest), each listed beside the official host it reaches.
  • A developer turns one on for Claude Desktop, for Claude CLI, or for both. Desktop starts on and the CLI starts off, so the one to switch is usually the CLI.
  • They sign in to it as themselves, so their own permissions apply and Selan never holds the account.
  • What the company allows is the owner’s call, under Settings → Manage.
Verified connectors · official hosts
The connector catalog: GitLab, Linear and Sentry connected, the line 31 more tools your company has not connected, then Airtable, Amplitude, Asana, Canva, ClickUp and Cloudflare bindings, each beside the official host it reaches

4Plugins

Where Claude looks for plugins.

  • A marketplace is a directory Claude checks for plugins: commands, agents and skills. Switch one on and its plugins appear for every developer’s Claude. Nothing installs on its own.
  • One switch by the owner covers the company, and the row records who pointed Claude at that repository, and when.
  • Distribution is automatic: Claude re-checks each marketplace, so a plugin added later reaches everyone without a single reconnect.
  • Your own marketplace is a public repo holding .claude-plugin/marketplace.json. It is fetched and checked before it saves, so a url that is not one is refused in the form, not on every developer’s machine.
Marketplaces · on for the company
Three marketplace rows, one line each: Anthropic official, Knowledge work, and Selan-Plugins — added by your company — each carrying Added Aug 23, 2026 by tomas@selan.ai and its switch on at the side
Your own · checked before it saves
The add-your-own form: a url field with the placeholder https://github.com/acme/claude-plugins and an Add button

5Settings

The switches, and who may move them.

  • Secret scanning and repository recording sit under Privacy & data, and both ship off. Nothing is scanned or recorded until somebody decides.
  • Outage failover sits under Reliability: on a 529, requests go out on your own provider keys instead of stopping.
  • Every switch carries its last change: the day beside the row, who moved it on the hover.
  • Manage is the owner’s half: custom models, spend limits, CLI tokens and company connections. Doors to their own panels, not switches.
Privacy · reliability · behaviour
Three groups of switches, each stamped with its last change: Secret scanning on at 23 Aug 15:12, Insights on at 23 Aug 09:31, Fail over during an Anthropic outage on, and Claude Code attribution off
Manage · the owner’s half
The Manage group: Connections 3 connected, Custom models none yet, Spend limits reading 4 members · 1 with a limit of their own · 1 over, and CLI tokens, each behind its own button

6Tokens

Every credential in one list.

  • Subscriptions and API keys in the same table (Claude Max seats, a ChatGPT Team plan, OpenAI, Vertex and OpenRouter keys), grouped by what serves a request.
  • Subscription windows as meters: the 5-hour and 7-day share used, for each seat and for the group as one pool.
  • The reason a credential is out of rotation is in its row: at a weekly limit, cooling off after a 429, over a day budget, paused.
  • Every row ends with when it last served a request, so a credential that has gone quiet says for how long.
Tokens · subscriptions and API keys
Three credential groups: Claude serving any request, its pool at 28% of the 5-hour window and 80% of the 7-day; OpenAI serving when named; API keys billed per token. Seven rows — Claude Max engineering preferred, Claude Max platform at its weekly limit for another 2 days 16 hours, ChatGPT Team, an OpenAI evals key, OpenRouter cooling off for 35 minutes, an Anthropic key over its day budget until Monday, and Vertex paused — each with when it last served

7Headroom

What one credential has left.

  • Any credential opened: the 5-hour and 7-day windows as a share used, each with the clock to its reset.
  • Top models for the week, tokens and list price each: where the seat’s capacity actually went.
  • A subscription is priced as equivalent API cost, what the same traffic would have billed per token, so a seat can be compared to a key.
  • Spend by hour for the last day, and the row’s own facts (added when, by whom, last active) on the same panel.
One credential, opened · Claude Max — engineering
Rate limits: the 5-hour window at 34%, resets 20:03 — in 1h 37m; the 7-day window at 61%, resets 00:16 — in 3d 5h Top models over 7 days, tokens and list price: sonnet-5 at 166.1M tokens for $160.61, opus-5 at 63.2M for $96.60, haiku-4-5 at 13.7M for $3.91 The product’s own note: this is a Claude subscription account, so it isn’t billed per token — the figures above are the equivalent API cost, what the subscription is saving you

8Requests

Every request has a person on it.

  • One row per request: time, session, who ran it, which credential served it, model, tokens, price, status.
  • Failures stay on the record. A 429 sits in the feed between the requests that worked, priced at nothing.
  • A second tab counts the secrets redacted on the way through, in the same log.
  • Every row carries its session, so a burst of requests reads as one sitting, not noise.
Logs · newest first
The Logs screen: a Requests tab beside a Secrets tab counting zero, then time, session, who, model, price and status per row — four requests of jonas’s sitting 97f31fb1, then tomas’s 38aa08d8 begins: the session hash changes with the person, and every row carries its price and a 200
A refusal, kept
A 429 row priced at a dash, sitting between requests that returned 200 and their prices

9Limits

Cap the person, not the key.

  • One company default, an override where somebody needs one. A blank field inherits the default above it; windows are day, week and month, on calendar UTC.
  • The cap sits on the person and follows them across every API key you brought: Anthropic, OpenAI, Vertex and OpenRouter count as one number.
  • Over it they stop being served, by one request’s worth at most, because the cap refuses the next lease instead of killing the one in flight. Saving a limit somebody has already blown asks first.
  • Subscription seats are never capped here: they are not billed per token, so their real ceiling is the 5-hour and 7-day windows, one row up.
Spend limits · API keys only · spent this month
The spend limits table: Everyone on a $150 monthly default; tomas, ona and jonas on the default having spent $48.15, $9.25 and $30.90 this month; greta flagged OVER with a $60 cap and $60.14 spent

Every number above is the product.

The screens on this page are the running app over one week of a four-person team. Point yours at it and they fill with your own day.

Get started