Skip to content

Terminal Control

Use this page when you do not want the TUI. The commands are meant for aliases, status bars, editor commands, and agents.

Terminal window
spotuify play "imagine dragons" --type track

What you get: the first matching track starts on the active or preferred device.

Terminal window
spotuify toggle
spotuify next
spotuify previous
spotuify seek +15s
spotuify volume 70
spotuify shuffle toggle
spotuify repeat context

What you get: small mutation receipts. Add --format json when another program reads the result.

Small commands make good aliases:

Terminal window
alias splay='spotuify play'
alias snext='spotuify next'
alias spause='spotuify pause'
alias sstatus='spotuify status --format json'

Long pipelines usually want a shell function. Put this in ~/.zshrc, ~/.bashrc, or your shell’s equivalent:

Terminal window
freedom() {
spotuify search "songs about freedom" --type track --format ids \
| fzf \
| xargs spotuify play-uri
}

Then open a terminal and run:

Terminal window
freedom

Use the same pattern for agent prompts, playlist recipes, or any search you repeat often. spotuify stays boring and pipeable; your shell gives the workflow a short name.

For Neovim, bind a command to one-shot playback:

command! -nargs=+ SPlay !spotuify play "<args>"
command! SNext !spotuify next

Then:

:SPlay inspirational music
Terminal window
spotuify status --format json \
| jq -r '.item.name + " - " + .item.subtitle'

What you get: a compact now-playing string for tmux, SketchyBar, Waybar, or a custom prompt.

Terminal window
spotuify reconnect
spotuify status

Use reconnect after a VPN flap, sleep/wake, or a Spotify session that went stale.