Stop trying to shove a square peg into a round hole. The latest FAQ from DEV.to drops a hard truth on the AI agent community: a free agent host simply cannot hold a CI_JOB_TOKEN. This isn't a bug; it's a fundamental architectural mismatch between ephemeral agent environments and the persistent, secure credential handling GitLab expects.
The Token Trap
The core issue revolves around lifecycle management. When you delete a runner, where does that token go? The source material highlights a critical disconnect: free agent hosts do not share variables or disks with your primary development environment. Your laptop authors the change you can defend, but the agent host is a black box that evaporates after the job.
Standup Reality Check
Every week, people describe one environment during standup, but the infrastructure tells a different story. If your CI_JOB_TOKEN lives on a runner that gets torn down, the credential is orphaned. The article explicitly notes that these boxes do not share variables or disks, meaning any attempt to persist state or secrets on a free tier agent is a fool's errand.
Key Takeaways
- Free agent hosts lack persistent storage for CI_JOB_TOKENs.
- Deleting a runner orphans the token if not properly managed.
- Agent environments and dev laptops do not share variables or disks.
- State persistence is impossible on ephemeral free-tier infrastructure.
The Bottom Line
If you're relying on free agent hosts for CI/CD secrets, you're building on sand. Either manage tokens externally or pay for infrastructure that actually persists.
Sources
https://dev.to/gitlab_3188/faq-the-free-agent-host-cannot-hold-cijobtoken-3o90