# feat\(server\): agents use linked environments · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/commit/41974697a33418dac4a97523b409db298b53372d)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

Requested revision: 41974697a33418dac4a97523b409db298b53372d

Requested commit: 41974697a33418dac4a97523b409db298b53372d

Commit: 41974697a33418dac4a97523b409db298b53372d

Tree: eedec48b6aaeed85300f7c75ca6884d89afd0793

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
feat(server): agents use linked environments

An agent can now work on a linked environment's threads through the same T3
MCP tools. t3_project_list, orchestrator_capabilities, t3_thread_launch,
t3_thread_list, t3_thread_read, t3_thread_send, t3_thread_wait and
t3_thread_interrupt take an optional environmentId; t3_environment_links
lists the links.

Each tool's own access declaration still runs here first, so a read-only or
ended caller is refused before anything leaves. The forwarded call carries
the caller's modes in T3-Mode-Limit, and the linked environment holds it to
those and the link's access. Retry keys are hashed with the caller's
namespace, since every caller here shares the link's one session there. A
forwarded wait goes out in pieces of at most 50 s so no route drops it idle.
A remote launch cannot carry attachments yet.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>

```

## Parents

- [e13f1d4556882544f8d0d68766d19cb6db0528f5](https://git.cafe/pingdotgg/t3code/commit/e13f1d4556882544f8d0d68766d19cb6db0528f5?format=markdown)

[Source at this commit](https://git.cafe/pingdotgg/t3code/tree/41974697a33418dac4a97523b409db298b53372d?format=markdown)
