mrkeyoor.com_
Sat 17 Oct 13:32 UTC
LLM Toolsevaluationupdated 11 Oct 2026

unreal-agent review

Unreal Agent is a Go library for running AI agents, with a command-line runner and a terminal chat interface. It records session history and separates tool requests from asynchronous operations so developers can build their own agent runtime.

+12stars / 7d
Verdict

Our Unreal Agent run installed in 16 seconds, built in 24 seconds, and passed all 54 tests, making the measured checkout a practical developer trial. Use it for Go agent infrastructure in a trusted workspace with deliberate provider configuration. Its runner trusts workspace .env settings, so do not treat the passing suite as approval for inspecting untrusted repositories with real credentials.

We ran it

Lab card: what happened when we ran unreal-agentScreenshot of unreal-agent (unreallabs.ai)
Install✓ · 16s82 packages
Build✓ · 24s
Tests✓ · 22s54 passed · 0 failed of 54 (go test)
Repo317 files~94,203 lines of source · 6.9 MB · 2 CI workflows · Dockerfile

Answers from our run

Does unreal-agent build from source?

Dependencies installed in 16 seconds (82 packages), and the build succeeded in 24 seconds. We cloned commit a5f3fd1 into a clean Debian container with 3 CPUs and no project-specific setup.

Do unreal-agent's tests pass?

Yes. The project's own test command finished in 22 seconds and reported 54 passed, 0 failed (go test).

Who should not use unreal-agent?

Users inspecting untrusted repositories with real provider credentials: issue 5 and its maintainer reply describe a runner that trusts workspace configuration.

What are the alternatives to unreal-agent?

Goose, LangGraph. Our Unreal Agent run installed in 16 seconds, built in 24 seconds, and passed all 54 tests, making the measured checkout a practical developer trial.

Setup4/516-second install and green build, provider setup still required
Docs4/5Clear runtime interfaces and separate runner and terminal guides
Community3/5October release, maintainer replies, and specific open reports
Maturity3/554 tests pass, trust and failure-reporting limits remain

Discussed on

  1. hnUnreal Agent247 points

Who it’s for

Go developers building agents that need persisted sessions and asynchronous tool operations.
Platform teams running authorized tasks inside trusted workspaces and controlled sandboxes.
Developers who want either a JSONL runner for automation or a terminal interface over the same harness.

Who it’s NOT for

Users inspecting untrusted repositories with real provider credentials: issue 5 and its maintainer reply describe a runner that trusts workspace configuration.
Teams requiring a released MCP client: issue 22 requests that support, and internal work is not a shipped integration.
Automation assuming exit success always means a successful model response: open issue 13 reports a mismatch.
Systems needing an unconditional session compatibility guarantee: the README promises best effort and explicit errors for unsupported versions.
Operators sharing an explicit log directory across concurrent runs without isolation: issue 14 reports records mixing in one file.

Setup reality

Our sandbox installed commit a5f3fd1 in 16 seconds, adding 82 packages. The build passed in 24 seconds, and Go tests passed in 22 seconds: 54 passed, 0 failed out of 54. The scan found 2 CI workflows and a Dockerfile.

Useful agent work needs provider configuration and credentials, or a functioning local model endpoint. The runner defaults to OpenAI, accepts a workspace and session directory, and emits JSONL. It loads the workspace .env before selecting its endpoint, a trust assumption discussed in open issue 5.

The lab started from golang:1.24-bookworm on fresh Debian with 3 CPUs and 8 GB of RAM. Current source instructions require Go 1.27 or newer; the report does not identify the compiler ultimately used. Prebuilt Homebrew and Docker routes exist, while the terminal client has its own provider and saved-preference setup.

The runner treats workspace configuration as trusted

Before Unreal Agent's runner asks a model to inspect your project, it reads that project's .env. The current runner source then uses the configured model endpoint with the selected provider credentials. Issue 5 reports that this lets workspace configuration redirect an API key. A maintainer's reply says the runner is intended for unsupervised agents in a trusted environment. That's the first decision to make before handing it an unfamiliar repository.

Our sandbox passed all 54 tests without secrets, which is useful evidence about the measured code path and no evidence of credential safety against an untrusted workspace. You can use this harness to run work you've deliberately authorized. Using it to vet a repository before trusting that repository needs a different configuration boundary. A passing build cannot resolve the trust assumption described by its own maintainer.

Persisted operations separate tool calls from execution

The root README describes a Go library, a cloud runner, and a terminal interface. Its coordinator records accepted inputs, manages model requests, and dispatches committed operations. A tool translator validates a call and produces serializable work for an operation manager. Translators must avoid I/O on the coordinator's event loop. This is useful architecture for developers who want asynchronous tool execution without turning the control loop into a waiting room.

The implementation is substantial: our clone contained 317 files and about 94,203 source lines in a 6.9 MB checkout. Much of the adoption work is understanding the boundaries between model input, recorded history, and operation state. The included tools cover Bash, image viewing, and skills. The host chooses which tools to expose. If you only need a conversational coding assistant, owning those interfaces may be more responsibility than you wanted.

What happened when we ran it

Our sandbox installed Unreal Agent commit a5f3fd1 in 16 seconds on October 9, 2026, adding 82 packages. The build succeeded in 24 seconds. The fresh Debian container started from golang:1.24-bookworm with 3 CPUs and 8 GB of RAM, no secrets, and no elevated privileges. These results make the measured checkout approachable for a developer trial, without establishing the performance of an agent working through a real task.

The Go test step succeeded in 22 seconds: 54 passed and 0 failed out of 54. The scan found 2 CI workflow files and a Dockerfile, although there was no directory literally named tests. Go checks can live alongside source packages, and the executed suite plainly existed. The supplied report has no dependency vulnerability audit, provider-response quality measurement, or end-to-end task result. We shouldn't infer those from the green suite.

Provider setup extends beyond compiling Go

The runner instructions start with an OpenAI API key, with other registered provider options including OpenRouter, Fireworks, and Ollama. The runner accepts a prompt or a JSON request, emits JSONL events, and lets you select the workspace and session directory. Those interfaces are convenient for another program driving the agent. They also put provider configuration and output interpretation under the caller's control.

Our 82-package installation did not include a paid model request or prove an Ollama model was available. For useful work, supply the selected provider's credentials or a functioning local endpoint, along with a model choice. The current source instructions require Go 1.27 or newer, while our measured container image was golang:1.24-bookworm. The report does not identify the compiler ultimately used, so the image label shouldn't be read as proof of an older supported toolchain.

Recovery has limits that the host must understand

Sessions keep append-only persisted history and can be forked, but the README describes the inbox's duplicate-input tracking as in-memory and scoped to a session. Callers supply globally unique input IDs that remain stable on redelivery. The documentation also says an unsupported session version causes an explicit resume error. Backward compatibility is a stated best effort, so indefinite replay across upgrades is an unsuitable assumption for an integration contract.

Passing 54 tests in our run supports trying the session machinery, rather than assuming every recovery path is settled. Issue 13 reports a runner exiting successfully after a failed provider response, and issue 14 reports mixed records when runs share an explicit log directory. These remain open reports, not outcomes from our lab. For automation that interprets a successful process exit as completed work, the former deserves a targeted acceptance check.

MCP is requested, while workspace skills already exist

Issue 22 requests MCP client support for local and remote servers. A maintainer says the team is working on it internally, which does not establish a released MCP client. The terminal interface already loads workspace skills from .harness/skills, and its filename picker inserts a path into a message rather than attaching the file's contents. These are different integrations with different consequences for what context reaches a model.

The 24-second build makes a source trial reasonable, but it doesn't close that integration gap. Compare Goose if connecting an existing agent to MCP extensions is the main job. Compare LangGraph when you want application-level stateful orchestration and human intervention. Unreal Agent fits developers who specifically want its Go interfaces and operation model enough to integrate the missing pieces themselves.

October releases show work on packaging and documentation

The last push was October 6, 2026, and v0.3.1 shipped that day with GoReleaser and Homebrew work plus runner and terminal documentation changes. GitHub listed 7 open issues and PRs, including the subsequent MCP request. Recent releases and specific reports support an active, early project assessment. They don't justify treating the runner as suitable for every trust model or automation contract.

Use the library in a trusted, bounded environment when its durable operations solve a problem you already have. Our 16-second install and clean 54-case suite lower the cost of examining it. Before supplying real credentials, decide who controls the workspace configuration and which endpoint can receive them. Keep credentials out until you can trust that configuration.

Alternatives

ProjectWhat it isPick it when
Goose gh↗A general-purpose local agent with desktop, CLI, and MCP extension support.pick this instead when you want an existing agent with MCP integrations rather than building around Go harness interfaces.
LangGraph gh↗A framework for persistent stateful agent workflows and human intervention.pick this instead when application workflow orchestration fits better than Unreal Agent's Go operation runtime.

What people are saying

  1. [velocity-scout] unreallabsai/unreal-agent

Sources

  1. Unreal Agent architecture README
  2. Runner setup and providers
  3. Terminal client and workspace skills
  4. Workspace endpoint and credential report
  5. Current runner configuration source
  6. Failed provider response and exit status report
  7. Concurrent log-file report
  8. MCP client feature request

More llm tools reviews

GLM-5.3-Flash-EXL3-2x-DGX-Sparks-TensorFold · livenerf · scion · opencode2api · IQuest-Q1 · iCode · the whole board →