Six clients, nine codebases, one set of habits.
Agency work multiplies every problem an in-house team has. More codebases, more context switching, more people rotating between engagements, and a much lower tolerance for mixing one client work up with another.
// Projects keep client work distinguishable inside one organization.
The same problems, multiplied.
Context switching is the job. That is exactly what agents are worst at, and what memory is for.
Every engagement starts from zero
A new codebase means an agent that knows nothing about it, and a developer explaining the same architecture again. Multiply by the number of active clients.
People rotate constantly
Somebody covers a client for two weeks and moves on. What they learned leaves with them unless it was written somewhere the next person agent can find.
Boundaries actually matter
Client work has to stay attributable and separable. Anything that pools context indiscriminately across engagements is a liability rather than a feature.
Utilisation is the business
Time lost to a stalled agent run, or to re-explaining a codebase, comes straight off billable capacity.
What an agency gets.
The same two products, used differently because the shape of the work is different.
Work separated by project
Each project maps to a repository, so client work stays distinguishable and attributable inside your organization.
Access granted per project
Grants are per member and per team, so people see the engagements they are on rather than everything at once.
Context that survives rotation
When somebody moves to another client, what their agent learned stays with the project rather than leaving with them.
Oversight across machines
See the sessions running on your organization machines, and answer the decisions blocking them from anywhere.
How to set it up.
One decision matters more than the rest: who owns the account.
Your agency, one organization
If your agency owns the tooling and the relationship, one organization with per-project access is the simpler shape.
Teams inside it
Group people by engagement and grant project access to the team, so rotating somebody on is one action rather than several.
Seats follow staffing
Assign and remove seats per member per product as people join and leave engagements.
Where this gets awkward.
Agency structures are genuinely harder than in-house ones, and the account model has edges worth knowing.
- Each user belongs to exactly one organization, so a contractor working through two agencies needs a separate account per organization.
- If a client must own their own data and billing, that is their organization rather than yours, and you work inside it.
- Memory is organization-scoped and attributed by project rather than hard-partitioned per client, so consider whether your contracts require stronger separation than that.
- Virex Remote is built around Claude Code, which matters if client engagements dictate different tooling.
Agency questions
Can one organization cover several clients?
Yes. Projects are how client work stays distinguishable inside your organization, and each project maps to a repository. Access to a project is granted per member and per team.
Should each client get its own organization?
That depends on whether the client owns the account. If your agency owns the relationship and the tooling, one organization with per-project access is simpler. If a client needs to own their own data and billing, that is their own organization.
Can a contractor be given access to one client work only?
Access is granted per project, so a member sees the projects they are granted. Removing the seat ends access to the products entirely.
Does memory leak between client projects?
Memory is scoped to your organization and attributed by project, so retrieval is anchored to the project an agent is working in rather than pooled indiscriminately.
What happens at the end of an engagement?
You remove the seat, which ends that person access. The work and the memories written during the engagement stay with the organization that owns them.
Keep the engagements straight.
Create your organization, set up projects per client codebase, and assign seats as people rotate on.