#410·fx

TUI should support chained expressions

Author: darthwalshCreated Apr 15, 2026Updated Apr 15, 2026

fx version: 39.2.0

Background

The TUI dig expression bar (.) seems to only evaluates a single JS expression against the root, not allow array syntactic sugar.

For simple navigation this works, but mapping over array elements requires either .map() syntax or the @ prefix — both of which are unusable interactively due to auto-revert on intermediate invalid states? Trying to type .folders[]. in the TUI bar is automatically fixed to .folders.

Here's what works in the CLI, which I want to run from one fx TUI invocation:

bash
# Multi-arg chaining
fx /tmp/a.json .folders '@.path'

# Pipe chaining
cat /tmp/a.json | fx .folders | fx '@.path'

# prop[] syntactic sugar
fx /tmp/a.json '.folders[].path'

All produce ["foo", "bar", "baz"]. The TUI has no equivalent?

Repro file /tmp/a.json:

json
{
  "folders": [
    { "path": "foo" },
    { "path": "bar" },
    { "path": "baz" }
  ]
}

Requested behavior

Something like:

  • The TUI expression bar accepts multiple space-separated expressions (mirroring CLI multi-arg), e.g. .folders @.path
  • After . dig command, allow setting a new root, allowing a follow-up expression in a fresh bar
  • @.path is accepted as a valid TUI expression when the current result is an array
  • Or just document at https://fx.wtf that the TUI isn't the right tool for this?