Skip to content

Add support for agentic harnesses #385

Closed

Description

@Darktex

More and more frequently, agents work by combining a harness with a LLM inference endpoint. The harness is what contains a bunch of tools and what orchestrates the model to perform work, manages memory etc.

Examples of harness are Claude Code, Gemini CLI, OpenCode, OpenClaw, Goose, and the list goes on.

We should create a RFC to explore how to integrate with these harnesses. The challenge is that a harness overlaps with an Env in critical ways: it contains tools, it contains state like a filesystem, but it also has extra "brains" by owning the control loop (usually a react loop, or something similar to it), which is something that envs do not have.

Two open questions here:

  1. How to cleanly integrate with any of those harnesses. One option is to just wrap it: we assume that the harness will have its own set of tools and filesystem management (but we wrap it, so our container provides the filesystem), and if we do want to expose extra tools to it, we do it via MCP (which all these harnesses understand and which we now have first-class support for).
  2. In Prod mode, how do we expose ourselves? Currently, we simply gracefully degrade into a MCP server so we let the outside world start sessions with our tools directly. When a harness gets involved, I think we should just get out of the way and simply let you talk to the harness. We may need to do session management and session isolation though. If our env contains extra MCP tools, I think that it's reasonable to expect that we also plug them into the harness for you before the session starts.

I would say to try this with one harness first so that we stay concrete. Let's pick OpenClaw since it's gotten popular as of late.

Activity

  1. added 9 commits that reference this issue on Feb 17, 2026
    79a784c
    70ee465
    0c5d074
    bf89368
    00f509b
    3c2e987
    1f6fd74
    e612b07
    4d25794
  2. added 6 commits that reference this issue on Feb 18, 2026
    5680f64
    da8786e
    2c53795
    bb9c52d
    41a3062
    49e9fb6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions