Platforms
Haiku 5.5 OpenCode setup
Choose a Haiku 5.5 OpenCode provider and verify the model list. Keep Zen access, credentials, project permissions and model behavior distinct.
A Haiku 5.5 OpenCode setup has two separate choices: which provider account serves the model, and which model the application selects from that provider. OpenCode is the client. OpenCode Zen is one optional provider route, and neither should be confused with other API gateways.
Start with the provider you intend to pay and authorize. Do not install an unofficial authentication workaround simply because it promises to reuse a subscription. Use a documented connection method and confirm that it is permitted for your account and organization.
Choose the Haiku 5.5 OpenCode provider
The official provider documentation explains how OpenCode connects to different services. If you choose OpenCode Zen, its catalog lists Haiku 5.5 and describes the Zen connection flow. A direct Anthropic route or another gateway has its own credential and model configuration.
Keep those credentials separate. A Zen key is not a ZenMux key, and an Anthropic key does not authenticate every service that offers Anthropic models. Record the selected provider name before debugging the model identifier; a correct ID sent to the wrong service can still fail.
Review the provider's current billing and data-handling settings before sending private repository material. The client interface alone does not establish which upstream service processes the request. Team administrators may also restrict model access independently of what appears in a public catalog.
Connect and inspect the model list
For the documented Zen flow, OpenCode provides connection and model-list commands in its interface. Use those controls to establish the provider connection and inspect available models, rather than guessing a configuration entry from an unrelated tutorial.
/connect
/modelsFor Haiku 5.5 OpenCode use, choose the matching model under the intended provider and verify the active selection. If the model is missing, check the installed client, provider connection and account access. A public catalog entry is evidence of an offered route, not proof that your particular account is ready to use it.
Only persist a default after a small successful test. Inspect whether the setting applies globally, to one project or to the current session. A global change made for an experiment can otherwise alter the model used in unrelated repositories without an obvious prompt.
Verify with a bounded repository question
Ask the client to locate a known function and identify the test that covers it. This checks repository access and source-grounded reasoning without requiring a code change. Compare the answer with the actual files before concluding that the setup works well enough for edits.
A Haiku 5.5 OpenCode test should record the provider, selected model and task result. Do not treat a fluent greeting as sufficient evidence for a coding workflow. The useful question is whether the client can inspect the intended project and return correct, traceable information under its configured permissions.
Keep the first edit small and testable. Specify the expected behavior and prohibit unrelated refactoring. Review the diff, then run the repository's own check. If a command fails to start, record that limitation rather than accepting the agent's summary as a substitute for verification.
Check permissions before enabling tools
OpenCode's ability to invoke a tool does not mean every requested operation is appropriate. Review project permissions, repository instructions and the scope of files the client can access. Keep production credentials and unrelated personal files outside the task's working surface where possible.
For a Haiku 5.5 OpenCode workflow, distinguish reading code from executing it. A repository can contain install scripts or commands with side effects. Inspect unfamiliar instructions before running them, and use the project's declared package manager and lockfile rather than a model-invented setup command.
Do not disable approval controls simply to make a benchmark finish faster. A comparison that gives one agent broader permissions is testing a different operating environment. Keep permissions and acceptance criteria consistent when comparing models or providers.
Diagnose the right layer
An authentication error belongs to the selected provider connection. A missing model belongs to catalog or access configuration. A malformed request may involve a client or adapter compatibility issue. An incorrect code change belongs to task evaluation. Preserve these distinctions in your diagnostic notes.
When investigating Haiku 5.5 OpenCode behavior, capture the installed version and safe configuration fields without copying API keys. Check the models documentation for the current configuration format. Old examples can retain aliases or settings that no longer match your installation.
If the same task behaves differently through two providers, hold the repository and prompt fixed while inspecting accepted parameters and serving route. Do not infer that the underlying model is identical in every operational detail merely because both selectors display the same friendly name.
Keep Haiku 5.5 OpenCode experiments reversible
Retain the previous model configuration and a clean way to review the experiment's file changes. A model switch should not require reverting unrelated work. Do not commit or push generated edits until their behavior has been checked and the user has authorized that repository action.
Track accepted results and repair effort across several representative tasks before making the configuration your default. A single impressive patch is useful evidence for that patch, not a general reliability claim. Include a task with ambiguous requirements to see whether the agent asks for needed context instead of inventing it.
The Claude Code guide covers a different client, and the ZenMux guide covers a different gateway. Keeping those names distinct makes setup, billing and troubleshooting substantially easier than treating every model selector as access to the same service.