Reflection Beam setup: Mirror, Pi and OpenCode 2
Review current Beam model and package names, text-only OpenCode settings, Pi configuration, Mirror platform limits and common setup failures before a coding-agent trial.
What changed after the Beam launch
Reflection announced Beam availability on October 16, 2026. A tutorial written around the October 5 announcement may still describe a future release or use outdated identifiers. The hosted API is documented as public beta and Mirror as early beta. This guide is an editorial review of public documentation, not a hands-on agent benchmark. We did not install an agent, create an account or key, call the model API, download weights, or measure speed, quality or cost.
Choose the route before changing an existing setup
Use Mirror if you want Reflection's terminal agent and meet its platform requirements. For an existing Pi or OpenCode workflow, review the provider configuration first. Keep a copy of the working configuration and record the installed agent version. Do not replace a successful setup merely because another guide uses a different package. The Pi and OpenCode profiles linked below contain earlier, separately dated evaluations; those results do not test Beam or the versions in this quickstart.
Mirror: the package and operating-system boundary
The pinned Mirror CLI README specifies reflection-mirror, installed with uv tool install reflection-mirror; the executable is mirror. The PyPI package named mirror is unrelated. Requirements are macOS 15+ on Apple Silicon, or Linux x86-64/ARM64 with glibc 2.28+, plus Python 3.12+. Native Windows is unsupported. These commands are reference examples, not commands we executed. A local CLI still sends inference requests to its selected provider; installing Mirror does not create an offline model server.
Configure Pi or OpenCode 2 without carrying over old names
Reflection's coding-agents quickstart documents Pi 1.3.0 and OpenCode 2.0.30. It uses https://api.reflection.ai/openai/v1, model Beam-1.0-501B-A23B and REFLECTION_API_KEY. The field map below is not a complete configuration file; use the linked official quickstart for complete JSON. Keep credentials out of repositories.
| Client | Package and configuration | Fields to check |
|---|---|---|
| Pi | @earendil-works/pi-coding-agent; ~/.pi/agent/models.json | providers.reflection: baseUrl, api: openai-completions, apiKey: $REFLECTION_API_KEY; models[].id: Beam-1.0-501B-A23B |
| OpenCode 2 | @opencode/cli; opencode.json or ~/.config/opencode/opencode.json | providers.reflection: package: @opencode/ai/providers/openai-compatible; settings.baseURL; env: [REFLECTION_API_KEY] |
| OpenCode 2 model | providers.reflection.models[Beam-1.0-501B-A23B] | capabilities.tools: true; input: [text]; output: [text]; limit.context: 1048576; limit.output: 131072 |
Resolve client-specific migration traps
The older Pi package @mariozechner/pi-coding-agent is deprecated. OpenCode's opencode-ai package is v1; do not confuse it with @opencode/cli v2. OpenCode needs text-only declarations; this setup does not make images or PDFs model inputs. Custom variants replace defaults, so retain low, medium, high, xhigh and max when defining them. Pi's complete example maps its thinking levels to Beam. A client model listing proves configuration visibility, not authentication or a successful generation. Restart a previously running OpenCode service if it missed the environment set in its launch shell.
Capacity is different from a usable request budget
The Models documentation gives Beam-1.0-501B-A23B a 1,048,576-token context and 131,072-token maximum output. Context includes prompt and generated output together. Pi names these fields contextWindow and maxTokens; OpenCode uses limit.context and limit.output. Reasoning is mandatory, with low, medium, high, xhigh and max levels. Organization defaults and plan limits can differ. Do not interpret the configured maximum as an allowance, a free quota, or a promise that a near-full prompt leaves room for the maximum response.
Review approval and isolation separately
The Mirror overview explains that built-in reading and searching do not require the same prompts as shell commands or edits in manual mode. Check the active mode before a task. The CLI README says approved tools normally inherit your account permissions. Manual approval is not filesystem or network isolation. Mirror also documents optional /sandbox workspaces for file and shell tools using a microVM, with separate runtime setup; extensions and local MCP processes can still run on the host. We did not set up or validate that sandbox. Treat the repository, connected tools and model endpoint as separate access decisions.
Diagnose a failure before repeating the request
Start by identifying which layer failed: installation, configuration loading, account access, request limits or the coding task itself. Retain a redacted error and the client version. Reinstalling a package will not resolve an exhausted service allowance, and a successful process exit does not prove the requested file change happened.
| Symptom | Next check | Avoid assuming |
|---|---|---|
| mirror is missing or installs an unexpected program | Compare the installed package name and shell path with the pinned CLI README | Any package named mirror is Reflection's agent |
| The wrong provider or model appears | Inspect active client routing and the saved configuration against the official example | An environment variable overrides every saved setting |
| 401 or model unavailable | Have the authorized account owner check access and the exact model identifier; redact credentials in reports | An old tutorial's model name is still valid for this account |
| 429 | Inspect the error code and retry headers before scheduling another attempt | Every 429 is a brief burst limit |
| The agent reports success | Inspect the actual diff and independently run the task's existing checks when authorized | A fluent completion message is an acceptance result |
Handle limits without inventing a free tier
Reflection documents shared organization limits for requests and tokens, plus concurrency and daily allowance rules. Adding keys does not increase an organization limit. Distinguish daily_allowance_exhausted from rate_limit_exceeded; daily counters reset at 00:00 UTC. Honor Retry-After when present and do not automatically retry when x-should-retry is false. Token accounting includes reasoning as well as input and output. This guide promises no universal free allowance, price or throughput; inspect the applicable account terms before approving an online trial.
Keep software, weights and hosted-service rights distinct
The pinned Mirror repository contains an Apache License 2.0 file. Separately, Reflection's launch announcement describes released Beam weights under Apache 2.0. We did not download or audit model artifacts. The CLI repository license alone does not establish the terms for every weight file, dependency, hosted service or supplied dataset. For a deployment decision, retain the license and notices attached to the exact artifact and review the service terms that apply to your account.
Define a small acceptance task before giving repository access
Our suggested first task is a disposable copy of a non-sensitive project with one known failing check and an explicit expected diff. Record the starting revision, allowed paths, whether commands need review, the stop condition and who may approve an online trial. Keep the first output and failures even if you later revise the prompt. Evaluate installation, task correctness, action permissions and observed usage separately. Use the evaluation guide below to write those criteria, or contact uAgentKit with the workflow and platform constraints you need to compare.
Continue your comparison
Pi profile and separately dated evaluation →
OpenCode profile and separately dated evaluation →
Define a small agent evaluation →
Sources supporting this guide
- Reflection: Beam is now available (October 16, 2026)
Reflection · reflection.ai · Read · 2026-10-16
- Reflection: Coding agents quickstart (complete configuration examples)
Reflection · developers.reflection.ai · Read · 2026-10-16
- Reflection: Models, context and reasoning limits
Reflection · developers.reflection.ai · Read · 2026-10-16
- Reflection: Mirror overview and approval modes
Reflection · developers.reflection.ai · Read · 2026-10-16
- Reflection: Rate limits and retry behavior
Reflection · developers.reflection.ai · Read · 2026-10-16
- Mirror CLI README at f938033: packages, platforms and sandbox scope
Reflection · github.com · Read · 2026-10-16
- Mirror repository LICENSE at f938033
Reflection · github.com · Read · 2026-10-16
Research method & original evidence · Who operates uAgentKit · Commercial disclosure