# feat\(server\): every tool that names a thread, project or queue reaches a linked environment · pingdotgg/t3code

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

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

Visibility: public

Requested revision: 641ee467aa5ceb9126f7c52e2b8b002bf258e0a4

Requested commit: 641ee467aa5ceb9126f7c52e2b8b002bf258e0a4

Commit: 641ee467aa5ceb9126f7c52e2b8b002bf258e0a4

Tree: 8e01e0c19e59545159f5685f306530f5f227cdaf

Author: Julius Marminge

Committer: Julius Marminge

## Message

```
feat(server): every tool that names a thread, project or queue reaches a linked environment

Forwarding was wired tool by tool, so only the first eleven tools took
environmentId. It now lives in McpToolAccess.toLayer: a tool whose
parameters take OrchestratorMcpEnvironmentTarget runs in the linked
environment it names once its declaration has checked the caller here.
The local handler never sees environmentId. Tools that act as the calling
thread itself cannot take one, and the layer refuses to build if they do.

Queues, pending requests, thread settings and organizing, forks and
merge-backs, scheduled tasks, pull requests, worktree refs, project
read/update/delete and environment preferences now reach a link too.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

```

## Parents

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

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