# List of possible csound error messages for custom language server

**URL:** <https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539>\
**Category:** Developers\
**Created:** [September 5, 2026, 2:10am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539 "2026-09-05T02:10:01Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 5, 2026, 2:10am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/1 "2026-09-05T02:10:01Z")

</div>

Hi!

I’m writing a language server for Csound and I’ve been removing pieces of code here and there to check which errors Csound throws. I’ve found three main error types that I’ve already included in my unit tests but I’d love to hear from the community if there are more I should put in my list.

Yeah! I’m collecting Csound error outputs for a good cause

type one:

```csound
Compiling Csound code...
error: unable to find opcode with name: aOut, line 21

SEMERR: unable to find opcode with name: aOut, line 21

Parsing failed due to syntax errors 

```

type two:

```csound
error: syntax error, unexpected NEWLINE (token "
")
from file synth.csd (1)
 line 12:
>>> <<<
No number following instr

```

type three:

```csound
error: Variable type for Amp could not be determined, line 21
SEMERR: Variable type for Amp could not be determined, line 21
from file synth.csd (1)

```

---

<div class="post-metadata">

**Author:** ![hlolli](https://forum.csound.com/user_avatar/forum.csound.com/hlolli/32/3_2.png) [@hlolli](https://forum.csound.com/u/hlolli)\
**Post date:** [September 9, 2026, 6:07pm UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/2 "2026-09-09T18:07:16Z")

</div>

The syntax errors are the most consistent ones but sadly for others they aren’t structured. I would have LLM read over csound repo to give you this answer.

---

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 11, 2026, 1:35am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/3 "2026-09-11T01:35:40Z")

</div>

Yeah, there’s no much consistency across error messages. Unmatched tags errors are pretty different for example

---

<div class="post-metadata">

**Author:** ![hlolli](https://forum.csound.com/user_avatar/forum.csound.com/hlolli/32/3_2.png) [@hlolli](https://forum.csound.com/u/hlolli)\
**Post date:** [September 11, 2026, 8:19am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/4 "2026-09-11T08:19:32Z")

</div>

have you written custom language server for other c languages? Do you have suggestion on how we can improve the error logging?

---

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 14, 2026, 1:36am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/5 "2026-09-14T01:36:41Z")

</div>

Sorry about my late reply! I just had the chance to right a bit of a long answer to your questions:

This is the first time I’m writing an language server as part of the beginning of the path I finally started liking developer experience field after exploring my careers options for a while. The language server is in Go and if I can make it, I’d love to continue with a tree sitter, a formatter and a linter… let’s see how far I can go with this project series. The main reason for doing this on my own is to give back to the internet since I’ve mainly learned how to code on my own with multiple open source resources.

Based on my recent learning process in developer experience, I think the compiler could have a more standardized way to log error that could help CSound coders understand what goes wrong ideally in one line of code that fits any code editor window ideally. On the other hand having a standardized error logging helps with designing regex pattern that easily match the error line number aside the error message and the conflicting piece of code to get the position from so the language server can position the course on that bit of code. In my opinion the following existing error format work perfectly fine except for the colon before the variable that causes the error:

`error: <description> <opcode/code> <line number>`

This could be cleaner in my. No colon, no semicolon

Now, I could see that the compiler reports on error at a time so I was wondering if reporting all error at the same time could improve the developer experience cause coders can feedback of all errors to fix instead of feeling hopeful with one error and then disappointed because there were unreported related errors that popped up one by one.

This is my input for now and I’m open for discussion. I feel this could be a great opportunity to learn from you guys about how you design CSound to enable musicians/sound artists/coders to make some noise 😉

---

<div class="post-metadata">

**Author:** ![rory](https://forum.csound.com/user_avatar/forum.csound.com/rory/32/7_2.png) [@rory](https://forum.csound.com/u/rory)\
**Post date:** [September 14, 2026, 10:31am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/6 "2026-09-14T10:31:15Z")

</div>

I went over these error messages a while back to try to create some bit of consistency. But it’s not enough. @hlolli is right about this being a good use of an LLM. Btw, are familiar with [GitHub - PasqualeMainolfi/csound-lsp: Csound LSP · GitHub](https://github.com/PasqualeMainolfi/csound-lsp)? Seems you might be working towards the same goal?

---

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 14, 2026, 1:58pm UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/7 "2026-09-14T13:58:32Z")

</div>

Hi! That’s alright, I’ve found three types of errors so far, I might find more on the way but I wanted to survey the community in case some experts would add more types of error I should take care of.

Yeah! I saw Pascual’s work in Rust. In my case though, this is my first sort of DevX portfolio project that includes not just the language server but also interacting with the community to understand its needs and get its feedback. That’s part of the developer experience engineer role so why not doing that from day one 😉

Question: How did you design the compiler output? Did you follow some criteria for doing that?

---

<div class="post-metadata">

**Author:** ![rory](https://forum.csound.com/user_avatar/forum.csound.com/rory/32/7_2.png) [@rory](https://forum.csound.com/u/rory)\
**Post date:** [September 15, 2026, 6:40am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/8 "2026-09-15T06:40:00Z")

</div>

> [@wavesinaroom](#):
>
> Question: How did you design the compiler output? Did you follow some criteria for doing that?

No, it was far more adhoc. I merely made a few tweaks in an attempt to make the output a little more consistent.

---

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 15, 2026, 1:54pm UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/9 "2026-09-15T13:54:47Z")

</div>

Can I try to improve them as a contribution to CSound? I’d like to take a look at the source code to see if I can add consistency after doing a bit of research on best practices. We can dm each other with details if you want

---

<div class="post-metadata">

**Author:** ![rory](https://forum.csound.com/user_avatar/forum.csound.com/rory/32/7_2.png) [@rory](https://forum.csound.com/u/rory)\
**Post date:** [September 15, 2026, 5:52pm UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/10 "2026-09-15T17:52:27Z")

</div>

By all means. Fork the dev branch, and make a PR when you’re ready. The dev team will review and provide feedback when they get a chance 👍

p.s. it’s spelled Csound or csound, no uppercase S 🙂

---

<div class="post-metadata">

**Author:** ![wavesinaroom](https://forum.csound.com/letter_avatar_proxy/v4/letter/w/d2c977/32.png) [@wavesinaroom](https://forum.csound.com/u/wavesinaroom)\
**Post date:** [September 16, 2026, 2:22am UTC](https://forum.csound.com/t/list-of-possible-csound-error-messages-for-custom-language-server/2539/11 "2026-09-16T02:22:23Z")

</div>

I found what I’ve been looking for [here](https://github.com/csound/csound/tree/develop/tests/commandline), no need to make a PR for now
