Your team's agents, aware of each other.

Ra7 is a shared-session IDE for teams on Claude Code or Codex. Before your agent runs a prompt, it hears which teammate's agent is already on the same file or a similar task.

  1. 01

    Einstein's agent is already in src/cache.ts.

    Einstein runs Codex on a separate machine, under a separate login. Ra7 sees which files that session has open.

  2. 02

    You ask yours for a change.

    Same repo, your Claude Code, a prompt that will touch the cache.

  3. 03

    Ra7 checks before it runs.

    A hook on the prompt compares it with every live session: open files, plan paths, locks and task titles. It adds a few hundred tokens.

  4. 04

    Same file, so you hear about it now.

    Not at merge time, after both agents have spent the work.

  5. 05

    Split the work and keep going.

    Join Einstein's session or split the files. Ra7 advises. People decide who continues.

Ra7
ra7 Sessions · Cache TTL BYyou⌄
Cache TTLClaude Code× Login formCodex
AgentEditor ⑂ session/cache-ttl · Acme BYAE
Claude CodeIdleready Full⌄ → Hand off
Files
src/redis.ts
src/cache.ts
src/config.ts
Session folder
▾ src
cart/
lobby/
acme/web · src/cache.tsacme/web · session/cache-ttl · agent
Claude Code · runningShared liveStop
✻ Claude Code · ~/acme/web
>
⎿ ra · UserPromptSubmit hook180 / 700 tokens
⎿ ▲ overlapping · einstein · src/cache.ts
⎿ split · you take src/config.ts
ActivityCoordinationMemoryPlan & task
you ran npm test -- cache
einstein joined
einstein edited src/cache.ts
BYyou → started the main agent
make the cache TTL configurable
turn 3 · rev 12
hook · UserPromptSubmit · injecting live team state
▲ overlapping 9:42 AM

"Cache warmup" · einstein
same file: src/cache.ts
Join that session, or split the files before editing.

Cache warmup →
session/cache-warmup · einstein · same file
Join sessionSplit files
Sessions 41 need you⌥1Cache TTLClaude CodeIdle· Acme⌥2Login formCodexNeeds you· Acme⌥3Billing2CodexRunning· Retry webhooksAll ⌥J+ New ⌘D
live team state · acme/web4 agents · 0 overlaps caught
ra · check

Built around the moment before a prompt runs.

Three pieces make it work: a hook in the CLI you already use, a check against live sessions, and a session everyone can see.

Overlapping or adjacent.

The exact same file is overlapping. A shared folder or a similar task is adjacent. Ra7 compares open files, plan paths, ra lock holds and task titles.

Coordination
codexadd retries to checkoutchecking…
jeun · session/checkout-retrysame file: src/cart/checkout.tsoverlapping
einstein · session/payment-copysame folder: src/cart/adjacent
sam · session/docs-passREADME.mdclear

Your agent, your login.

A small local connector hooks into Claude Code or Codex. Ra7 bundles no model and resells no tokens.

~/acme/web · zsh
$ claude
ra · hooks ready · connector on 127.0.0.1:4101
› fix the flaky checkout test
ra · UserPromptSubmit · live team state · 180 / 700 tokens
clear · no teammate is on src/cart/checkout.test.ts

One session everyone can see.

The same files, cursors, agent output and approval requests for everyone in it. Whoever is around can answer the agent.

Cache TTL · approval
codexeinstein's agent wants to run
npm test -- src/cache
DenyAllow
BYAEyou allowed it · einstein sees it live
running · 14 passed

The fine print, up front.

  • It warns. People decide.A clean result doesn't prove an edit is safe and doesn't replace Git review or tests.
  • Locks are advisory.Atomic for a path inside a workspace, but they won't stop another local process from writing a file.
  • Fewer collisions, not zero.Ra7 cuts silent duplicate work while coordination is healthy. It can't promise zero wasted tokens.

Start your next session with the team in the room.

Version 0.1.11 for Macs with Apple silicon. Needs git, the GitHub CLI and Claude Code or Codex, all signed in.