Parsing Helix logs in Nushell
16 December 2025
Updated: 17 June 2026
Getting Helix Logs
Viewing helix logs can be done by reading ~/.cache/helix/helix.log. To increase logging verbosity, you should also start helix with hx -v which will provide more detailed logs which can be handy for debugging language servers
Parsing a Log
A super quick one today - I was doing some debugging on a Language Server for Helix and it was getting really annoying trying to find the data I was looking for so I wrote this quick Nushell command:
1cat ~/.cache/helix/helix.log2| parse "{date} helix_lsp::transport [{type}] {source} <- {data}"This will parse the Helix logs using the given format.
Parsing inner JSON
The data portion is also JSON, so adding the JSON parsing can be done with:
1cat ~/.cache/helix/helix.log2| parse "{date} helix_lsp::transport [{type}] {source} <- {data}"3| update data { |e| $e.data | from json }Rendering with jq
I also prefer normal JSON to the helix data view for this kind of data, so you can tac on | to json | jq to pipe it to jq for some nice JSON rendering and querying:
1cat ~/.cache/helix/helix.log2| parse "{date} helix_lsp::transport [{type}] {source} <- {data}"3| update data { |e| $e.data | from json }4| to json | jqReal-time log rendering
And for real-time rendering/printing, you can use tail + each { print }:
1tail -f ~/.cache/helix/helix.log2| parse "{date} {section} [{type}] {source} <- {data}"3| update data {|d| $d.data | from json }4| each { to json | jq -C | print }