OpenCode School

Troubleshooting

Tips for solving problems with OpenCode and this course.

Using OpenCode to solve problems

When you run into trouble — whether it's an error message you don't understand, a lesson that isn't working, or something broken in your own project — try asking OpenCode to help you figure it out. That's what it's for.

Here are some things OpenCode can do to help you debug:

  • Read error messages and explain what they mean
  • Search your codebase for relevant files and functions
  • Run commands and inspect the output
  • Check logs, config files, and environment variables
  • Suggest fixes and apply them directly

Instead of trying to solve everything yourself, describe the problem to OpenCode and let it investigate. You can paste in an error message, point it at a file, or just say "something is broken" and let it look around.

Digging into the OpenCode source

OpenCode is open source. If you want to understand how a feature works, track down a bug, or just learn by reading real code, the repo is on GitHub.

The codebase is primarily Go and TypeScript. Reading the source is one of the best ways to build a deeper understanding of how OpenCode works under the hood — how it manages sessions, talks to LLM providers, runs tools, and more.

You can also use OpenCode itself to explore the repo. Clone it, open it in OpenCode, and ask questions like "how does the permission system work?" or "where are MCP connections managed?" It's a great way to learn a codebase you didn't write.

Getting help with OpenCode

If you run into a bug or unexpected behavior in OpenCode itself — crashes, tool errors, model issues — the best place to get help is the official Anomaly OpenCode Discord community:

https://opencode.ai/discord

The Discord is monitored by the OpenCode team and community. You can ask questions, report bugs, and see if others have run into the same issue.

Reporting an issue with OpenCode School

If you find a problem with this course — a broken lesson, incorrect content, enrollment issues, or anything else on this site — please report it on GitHub:

https://github.com/opencodeschool/opencode.school/issues

To post an issue you'll need a free GitHub account. If you don't have one, you can create one at github.com/signup. When writing your issue, include a descriptive title, the steps that led to the problem, and what you expected to happen vs. what actually happened. The more detail you provide, the easier it is to fix.

How to reset progress or disenroll

If you want to redo lessons you've already completed, visit the disenroll page and use "Reset progress." This clears all your completions while keeping your student ID and profile, so you can go through the lessons again without re-enrolling.

If you want to fully clear your enrollment from this browser, the same page has a "Disenroll completely" option that removes your student ID, progress, and theme color from local storage. You would need to re-enroll to use OpenCode School again.

Note that both options only affect your current browser. There is no account to delete on the server side — your progress record is just a small anonymous entry keyed to your student ID.