You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
+1 on this — we're running multiple AI agents (Codex CLI, Roo, Cline) alongside Claude Code in our Coder templates and need boundary support across all of them.
Currently, Claude Code is the only module with native enable_boundary = true support. For everything else, the workaround is to skip the agent module entirely, use the agentapi module directly, and write custom install/start scripts that inject coder boundary into the launch chain. It works, but it's a lot of unnecessary boilerplate for what should be a simple toggle.
We're specifically using landjail mode (Landlock V4) since our workspaces run on kernel 6.12+ and we want to avoid the Docker seccomp/capability requirements of nsjail. Landjail is trivial to configure (jail_type: landjail in config.yaml), but the lack of module-level support means every non-Claude agent needs a custom Terraform setup.
Our preferred solution: Option 2 from @matifali's comment — bake boundary support into the agentapi module. Since all AI modules (Codex, Goose, Aider, Mux) already use agentapi under the hood, this would give every module enable_boundary support without per-module changes. The agentapi start script would just need to optionally wrap the agent command with coder boundary -- (same pattern Claude Code's start.sh already uses).
@matifali I know I haven't quite followed the full contributing process. But just wanted to start mocking something up: #780
If you are happy with the approach I will tidy it up and do it properly, if not, let me know what you think might be better 😄
2 things I need to check, is firstly whether boundary should wrap around agent api, or vice versa (like Claude Code Module does currently) and B I need to actually finish the logic in the Codex module
@shanewhite97 Hi there. Please go ahead, and we will be happy to review the contribution.
Thanks for the contribution. The reason we initially used Claude Code was that it is the most widely used.
@matifali Thanks for the fast response. Since you are happy with the proposed approach I will make sure it's done a bit more properly and follow the appropriate contribution guide. Ta
Activity
matifali commentedon Oct 6, 2025
@bcpeinhardt, can you elaborate on the issue with your plan on how to do that?
I think there are two options
shanewhite97 commentedon Mar 2, 2026
+1 on this — we're running multiple AI agents (Codex CLI, Roo, Cline) alongside Claude Code in our Coder templates and need boundary support across all of them.
Currently, Claude Code is the only module with native
enable_boundary = truesupport. For everything else, the workaround is to skip the agent module entirely, use theagentapimodule directly, and write custom install/start scripts that injectcoder boundaryinto the launch chain. It works, but it's a lot of unnecessary boilerplate for what should be a simple toggle.We're specifically using landjail mode (Landlock V4) since our workspaces run on kernel 6.12+ and we want to avoid the Docker seccomp/capability requirements of nsjail. Landjail is trivial to configure (
jail_type: landjailin config.yaml), but the lack of module-level support means every non-Claude agent needs a custom Terraform setup.Our preferred solution: Option 2 from @matifali's comment — bake boundary support into the
agentapimodule. Since all AI modules (Codex, Goose, Aider, Mux) already useagentapiunder the hood, this would give every moduleenable_boundarysupport without per-module changes. The agentapi start script would just need to optionally wrap the agent command withcoder boundary --(same pattern Claude Code'sstart.shalready uses).Key things the implementation would need:
enable_boundaryvariable (bool, default false)jail_typevariable (string, default "nsjail", options: "nsjail"/"landjail")proxy_portvariable (important for running multiple bounded agents concurrently — each needs a different port)config.yamlmount pattern from~/.config/coder_boundary/for allowlist managementshanewhite97 commentedon Mar 2, 2026
@matifali I know I haven't quite followed the full contributing process. But just wanted to start mocking something up:
#780
If you are happy with the approach I will tidy it up and do it properly, if not, let me know what you think might be better 😄
2 things I need to check, is firstly whether boundary should wrap around agent api, or vice versa (like Claude Code Module does currently) and B I need to actually finish the logic in the Codex module
matifali commentedon Mar 2, 2026
@shanewhite97 Hi there. Please go ahead, and we will be happy to review the contribution.
Thanks for the contribution. The reason we initially used Claude Code was that it is the most widely used.
shanewhite97 commentedon Mar 2, 2026
@matifali Thanks for the fast response. Since you are happy with the proposed approach I will make sure it's done a bit more properly and follow the appropriate contribution guide. Ta
feat: provide boundary support for agent modules (coder#780)