ARDUINO-LANGUAGE-SERVER(1)

πŸ“¦ version 0.8.0~rc1, in ubuntu stonking

πŸ’– ARDUINO-LANGUAGE-SERVER πŸ’–

okay bestie, this is the manual page for arduino-language-server, part of the General Commands Manual crew. Yes it's a command, yes it lives in your terminal, but no, it's not really for you. Plot twist incoming πŸ‘‡


✨ NAME ✨

arduino-language-server β€” the Arduino Language Server, built on Clangd, here to serve you that sweet, sweet code autocompletion πŸ“


🌈 SYNOPSIS 🌈

arduino-language-server [OPTION]...

πŸ’… DESCRIPTION πŸ’…

so here's the tea, and I need you to hear me on this one: this language server is NOT meant to be used directly by humans from the command line terminal. like, at all. that's not its vibe. its whole purpose β€” its main character moment β€” is to hand C++/.ino language functionality over to your IDEs. so basically, it's the IDE that talks to the language server, over stdin/stdout, using the slightly modified JSONRPC protocol laid out in the LSP specification. iykyk 🧚

to actually get the language server started, you need an arduino-cli(1) config file. no config, no server, that's the rule. and bestie, making one is so easy, you literally just run:

arduino-cli config init

periodt. ✨


πŸ‘‘ OPTIONS πŸ‘‘

one bullet per flag, no skipping, we're thorough in this house πŸ’œ

  • -board-name string β€” the user-friendly board name to start out with. and yes, it can be changed via JSON-RPC later, so don't stress about locking it in πŸŽ€
  • -clangd string β€” path to the clangd executable
  • -cli string β€” path to the arduino-cli executable
  • -cli-config string β€” path to the arduino-cli config file
  • -cli-daemon-addr string β€” the TCP address and port of the Arduino CLI daemon (for example: localhost:50051)
  • -cli-daemon-instance int β€” instance number of the Arduino CLI daemon (default -1)
  • -format-conf-path string β€” path to the global clang-format configuration file
  • -fqbn string β€” the fully qualified board name to start out with. also can be changed via JSON-RPC, so flexible queen πŸ’…
  • -jobs int β€” max number of parallel jobs. Default is 1. Use 0 to match the number of available CPU cores. (default -1)
  • -log β€” enable logging to files πŸ—‚οΈ
  • -logpath string β€” where to write those logging files to when logging is enabled (default ".")
  • -no-real-time-diagnostics β€” disable real time diagnostics
  • -skip-libraries-discovery-on-rebuild β€” skip libraries discovery on rebuild. it'll make rebuilds faster, but heads up: it will fail if the used libraries changes. so like, tradeoffs, bestie 😭

🌸 SEE ALSO 🌸

arduino-cli(1), clangd(1)


that's the whole page, bestie. this is arduino-language-server version 0.8.0-rc.1, dated 2026-08-14 β€” go forth and let your IDE do the talking πŸ«ΆπŸ’–βœ¨

πŸ“¦ where this page comes from