Skip to content

SWE-agent cannot be run by the standard as shipped: it needs root in the kits and the internet at start #37

Description

@aitianshi

Priority

extreme

Components

  • app/nullius (backend)
  • app/web (routes)
  • templates and static files
  • docs and the site
  • catalogue (benchmarks, agents, capabilities)
  • the standard (ports, kits, relay, runs)
  • CI, workflows and skills

Today

SWE-bench Verified's page says "SWE-agent, the authors' own agent, runs only on Harbor." On the standard its reference agent is mini-swe-agent. SWE-agent itself was looked at for import at its latest release, v1.1.0 (0f3acaf), with the import procedure. It has no ACP mode; it has a one-task command that works in a container that exists already (sweagent run --env.deployment.type=local --env.repo.type=preexisting). As shipped it cannot be run by the standard, for two reasons in its own code, each tried:

  • It copies its tool bundles to /root/tools (sweagent/tools/tools.py:251, the path is written in). The conformance kits run an agent in the base image as the user of the machine, without root: mkdir: cannot create directory '/root': Permission denied. An agent that cannot pass its kits has no proven port, and no benchmark is matched to it.
  • Its default tools install a package when the agent starts (tools/edit_anthropic/install.sh: pip install 'tree-sitter==0.21.3', pip install 'tree-sitter-languages'), and a failed install stops it (check="raise"). In a SWE-bench instance's container the agent has no way out but its model: ERROR: No matching distribution found for tree-sitter==0.21.3.

Its dependencies are also unpinned (pyproject.toml lists names only, no lock file), so an install of the same tag can differ from day to day.

Wanted

SWE-agent offered on the standard as its vendor ships it, and SWE-bench Verified's reference agent when it runs in the instance's own container. Nothing of the agent is patched to get there; what it needs is of the standard, and is the owner's to decide:

  • An agent's own setup step in the unit's container before it starts, with the way out a benchmark's preparation has, gone again before the first model call. This is what Harbor's agent setup phase does.
  • A way for an agent to pass its kits that does not depend on writing under /root as the machine's user: the kits run in a container where it is root, or the agent is proven on an own-image fixture.

Acceptance

  • The owner has said whether an agent may have a setup step with a way out, and how an agent that needs root passes its kits.
  • SWE-agent is in the agents catalogue at a pinned release, its dependencies pinned.
  • It passes the kits of the ports it offers, and its model calls are in the relay's record.
  • It runs a SWE-bench Verified instance in the instance's own container.
  • The benchmark's limitation no longer says it runs only on Harbor.

Dependencies and related

The preparation step and Box.offline (Terminal-Bench's tmux) are the pieces an agent's setup step would reuse.

Activity

  1. self-assigned this
    on Nov 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions