Writing
Why You Can't Share Your AI Agent With Your Team (Yet)
On this page
Here’s a fun experiment. Build yourself an agent. A real one, the kind that watches your tickets, runs your builds, drafts your replies, and generally makes you look like you suddenly grew three extra hands.
Feels amazing, right?
Now look at this scenario that happened not so long ago. I kicked off a long-running task with my agent in the afternoon. It was chugging along nicely, somewhere around halfway done. I closed the laptop and went home for the day.
At 9pm something broke. It was urgent, it touched exactly the work my agent was in the middle of, and I wasn’t reachable. My teammate needed to take over from wherever the agent left off. How would they do it?
Where was the session running? On my machine. Whose credentials was it using? Mine. What had it figured out about the task so far? That lived in my local context. Could my teammate even see what the agent had already done, or which step it was stuck on?
In most setups today, the honest answer is that they can’t. They either start from scratch or they call you.
And that’s the moment the whole thing falls apart.
I’ve been watching a lot of very smart people run head first into this wall lately, and it’s worth writing down. Because the part everyone obsesses over, building the agent, turns out to actually be the easy part. The hard part, the part nobody has a clean answer for yet, is sharing it.
Let me explain what I mean.
The agent isn’t “yours”. It’s literally you.
Here’s the thing that trips everyone up. A few months ago I argued that your coding assistant is not you, because your judgment and your skills are still yours. When it comes to identity, though, your agent is exactly you.
When you build a personal agent, it doesn’t run as some neutral service account sitting in the cloud with its own identity. It runs as you. Your login. Your session. Your permissions. Your credentials, sitting in a token on your machine that expires on its own schedule and needs you, a human, to go re-authenticate.
That’s completely fine when it’s your agent doing your work.
It isn’t fun anymore the second it’s supposed to be the team’s agent.
That 9pm scenario isn’t an edge case. It is the default. Any agent the team relies on is chained to one person’s login session, and the evening emergency is just the first time you notice. The bigger version comes later, when that person leaves the team and you’re rebuilding from scratch.
We didn’t build a team asset. We built a very elaborate single point of failure and gave it a friendly name. I’ve written before about how your AI provider is a single point of failure. Turns out the person holding the agent’s credentials is one too.
Three problems wearing one trench coat
When people say “we can’t share our agent”, they usually mean one specific pain. But there are actually three separate problems hiding in there, and they get tangled together constantly. Let me pull them apart.
1. The identity problem (the big one)
Who is the agent, really?
If the agent runs as a person, then every action it takes is that person’s action, with that person’s blast radius. There’s no “the team owns this and any of us can keep it alive” story, because the underlying platform has no concept of an agent acting on behalf of a team instead of on behalf of a human.
This is the one everybody hits and nobody can fully solve on their own, because it isn’t a scripting problem. It’s an authentication and authorization problem, and those live way below your clever little agent. You can’t pip install your way out of it.
I went deep on a close cousin of this when I covered identity and privilege abuse in the OWASP Agentic AI Top 10. Agents inherit their creator’s permissions, with no clean way to scope them down to what the task actually needs.
2. The knowledge problem
Your agent gets good over time. It learns the quirks of your codebase, the rules of your project, the “oh we always do it this way here” tribal knowledge. That’s most of the value.
And where does all that learning live?
On your laptop. In your local config. In a rules file that only you have.
When a teammate spins up “the same” agent, they get a newborn. None of the accumulated context comes along for the ride. The workaround people land on is depressingly manual: dump the shared rules into a markdown file, check it into the repo, and ask everyone to please, pretty please (with a cherry on top), tell their agent to go read it. Every time.
That’s not sharing an agent. That’s sharing a document and hoping.
3. The drift problem
Say you actually get a shared agent going. You improve it. You fix a skill, you tune a prompt.
How does everyone else get your improvement?
In a lot of setups, they don’t. Not automatically. Each teammate has their own copy installed locally, and each of them has to manually run some update command to pull your change. Miss it, and now half your team is running last week’s agent and the other half is running today’s. And you get to spend your afternoon debugging why the “same” agent behaves differently for two people.
Sound familiar? It should. We solved this exact class of problem for code decades ago with version control and CI. We just haven’t solved it yet for agents.
Everybody’s workaround is the same workaround
Here’s what I find funny, in a dark sort of way. Watch enough teams try to fix this and you’ll see the same four moves over and over:
- Shared boxes. Put the agent on a machine everyone can reach (or a poller on one designated host) and take turns owning the session. It works until two people need it at once, or the one person who understands the setup goes on leave.
- Append-only ledgers. If you can’t make the agent itself shared, at least make its output shared. Log every action to something the whole team can read, so even a single-owner agent produces team-visible evidence.
- Community-built gateways. When the official tool is explicitly single-user, someone always builds an unofficial layer in front of it to fake multi-user access. Load-bearing and technically unsupported, which is a genuinely uncomfortable combination.
- Markdown as a database. The rules file in the repo from the knowledge problem above. It works exactly as well as your teammates’ memory.
Every one of these is clever. And follow the wires back far enough, and nearly all of them end at the same place: one person’s credentials, on one machine, that one person has to keep alive.
We’re all independently reinventing the same duct tape and bubble gum.
What is the industry doing about it?
All of that is what teams cobble together on their own. The wider industry is going after the problem at a different layer: identity.
The numbers explain why. A 2026 industry survey found that 69% of enterprises let AI agents share human credentials, and only 32% give each agent its own identity. Non-human identities already outnumber human accounts by roughly 90 to 1 in many organizations.
Three patterns keep showing up:
- Give the agent its own identity. The agent stops borrowing your login and gets a machine identity of its own, basically a service account built for agents. Identity vendors like IBM are applying years of workload identity lessons from the infrastructure world to agents. On AWS, Amazon Bedrock AgentCore Identity gives each agent its own workload identity, and lets it reach AWS resources and third-party services on behalf of a user, with an audit trail.
- “On behalf of” tokens. The agent doesn’t pretend to be you. It gets a token that says who it’s acting for, and with what limits. Microsoft Entra Agent ID does this with the OAuth On-Behalf-Of flow, so every system it touches can answer two questions: whose authority is this, and which agent used it. There’s even been an IETF draft proposing a standard for it.
- Per-user auth on a shared bot. The bot is shared, but every request runs under the login of the person who asked, so the audit trail and the permissions trace back to a real human.
All three chase the same goal: an agent with its own accountable identity instead of a borrowed human one.
Notice what they cover, though. They all go after the identity problem, and even there the “on behalf of” is still one person. None of them gives you an agent that acts on behalf of a team yet. And none of them tells you how the agent’s accumulated knowledge gets to your teammate, or how everyone stays on the same version. Those two are still on you.
What actually fixes it?
I want to be honest here, because the answer isn’t a fun one.
You, personally, can’t fix the identity problem with a weekend hack. That one has to be solved by the platform underneath you. Until there’s real “on behalf of the team” support baked in at the auth layer, everything you build on top is a workaround.
That doesn’t mean do nothing. It means be clear-eyed about which layer you’re working at.
What you can do today:
- Externalize the knowledge. Get your agent’s rules and context out of your local config and into the repo, where it’s versioned and reviewable like any other artifact. Then make loading it part of the agent’s setup, not something your teammates have to remember. Ugly, but it survives you.
- Treat agent config like code. If your teammates run local copies, put a real update mechanism around it. Don’t rely on people remembering to pull.
- Log everything the agent does somewhere the whole team can see. Even if only one person can run it, shared visibility turns a black box into something the team can reason about and hand off.
- Stop pretending the credential problem is solved. Name it. Design around it. Assume the person running the agent will, at some point, not be available, and ask what happens then.
None of that is glamorous. But “who keeps the agent alive when I’m out” is the question that separates a neat personal demo from actual team infrastructure.
The uncomfortable takeaway
We’re living through a wild moment where any one of us can build an agent that does the work of several people. That’s real and it’s not hype.
But “I built an agent” and “my team runs an agent” are separated by a canyon, and most of us are standing at the edge of it right now, laying a bridge across one plank at a time.
The tooling will catch up. It always does. Version control felt like magic once too. But right now, today, if someone tells you agent sharing is a solved problem, ask them one question: what happens at 9pm, when the agent is halfway through a task and the person who owns it has gone home?
Then watch them get very quiet.
I would be very interested to hear your thoughts or comments, so please feel free to ping me on Twitter or LinkedIn.