STATUS(1)
โญ STATUS(1) โ the status builtin, aka fish's lil crystal ball ๐ฎ
okay bestie, so we're in the fish-shell manual and this page is all about status โ the builtin that lets you query fish runtime information. like, it's fish's way of telling you what's going on inside its own head. main character energy fr ๐
โจ SYNOPSIS โจ
status
status is-login
status is-interactive
status is-interactive-read
status is-block
status is-breakpoint
status is-command-substitution
status is-no-job-control
status is-full-job-control
status is-interactive-job-control
status current-command
status current-commandline
status filename
status basename
status dirname
status fish-path
status function
status line-number
status stack-trace
status job-control CONTROL_TYPE
status features
status test-feature FEATURE
status build-info
status get-file FILE
status list-files [PATH ...]
status terminal
status test-terminal-feature FEATURE
status language [list-available|set [LANGUAGE ...]|unset]
๐ DESCRIPTION ๐
With no arguments at all, status just shows you a cute lil summary of the current login status and job control status of the shell. like a vibe check for your shell ๐ธ
The following operations (subcommands) are available:
is-command-substitution,-c,--is-command-substitutionโ Returns0if fish is currently executing a command substitution. yup, that's it ๐is-block,-b,--is-blockโ Returns0if fish is currently executing a block of code.is-breakpointโ Returns0if fish is currently showing a prompt in the context of abreakpointcommand. See also thefish_breakpoint_promptfunction. ๐is-interactive,-i,--is-interactiveโ Returns0if fish is interactive โ meaning, connected to a keyboard. like, a real human is typing at it โจis-interactive-read,--is-interactive-readโ Returns0if fish is running an interactivereadbuiltin which is connected to a keyboard.is-login,-l,--is-loginโ Returns0if fish is a login shell โ that is, if fish should perform login tasks such as setting upPATH. ๐is-full-job-control,--is-full-job-controlโ Returns0if full job control is enabled.is-interactive-job-control,--is-interactive-job-controlโ Returns0if interactive job control is enabled.is-no-job-control,--is-no-job-controlโ Returns0if no job control is enabled.current-commandโ Prints the name of the currently-running function or command, like the deprecated_variable. (rip the_variable, we hardly knew ye ๐ญ)current-commandlineโ Prints the entirety of the currently-running commandline, inclusive of all jobs and operators. the whole thing. no crumbs ๐filename,current-filename,-f,--current-filenameโ Prints the filename of the currently-running script. If the current script was called via a symlink, this will return the symlink. If the current script was received by piping intosource, then this will return-.basenameโ Prints just the filename of the running script, without any path components before. just the lil name ๐dirnameโ Prints just the path to the running script, without the actual filename itself. This can be relative toPWD(including just"."), depending on how the script was called. This is the same as passing the filename todirname(3). It's useful if you want to use other files in the current script's directory or similar. so handy ngl.fish-pathโ Prints the absolute path to the currently executing instance of fish. This is a best-effort attempt and the exact output is down to what the platform gives fish. In some cases you might only get"fish". so like, don't be shocked ๐function,current-functionโ Prints the name of the currently called function if able, when missing displays"Not a function"(or equivalent translated string).line-number,current-line-number,-n,--current-line-numberโ Prints the line number of the currently running script. ๐stack-trace,print-stack-trace,-t,--print-stack-traceโ Prints a stack trace of all function calls on the call stack. for when you gotta know how you got here ๐job-control,-j,--job-control CONTROL_TYPEโ Sets the job control type to CONTROL_TYPE, which can benone,full, orinteractive.featuresโ Lists all available feature flags.test-feature FEATUREโ Returns0when FEATURE is enabled,1if it is disabled, and2if it is not recognized. three whole vibes.build-infoโ This prints information on how fish was build โ which architecture, which build system or profile was used, etc. This is mainly useful for debugging. ๐งget-file FILEโ This prints a file embedded in the fish binary at compile time. This includes the default set of functions and completions, as well as the man pages and themes. Which files are included depends on build settings. Returns0if the file was included,1otherwise.list-files FILE...โ This lists the files embedded in the fish binary at compile time. Only files where the path starts with the optional FILE argument are shown. Returns0if something was printed,1otherwise.terminalโ Prints the name and version of the terminal fish is running inside (for example as reported via XTVERSION). This is not available during early startup but only starting from when the first interactive prompt is shown, possibly via builtinread, so before the firstfish_promptorfish_readevent. โณterminal-osโ Prints the name of the operating system (OS) the terminal is running on, as reported via XTGETTCAPquery-os-name. Likestatus terminal, this only works once the first interactive prompt is shown. Returns1if the OS name is not available.test-terminal-feature FEATUREโ Returns0when the terminal was detected to support the given feature. Likestatus terminal, this only works once the first interactive prompt is shown.
Currently the only available FEATURE is scroll-content-up. An error will be printed when passed an unrecognized feature.
languageโ Show or modify message localization settings. When invoked without arguments, the current language settings are shown. ๐
Available subcommands:
list-availableโ prints the language names for which fish has translations. These names can be used with thesetsubcommand.setโ sets the language precedence for fish's messages. Overrides language settings configured via environment variables, but only applies to fish itself, not to any child processes. Takes a list of language names from the set shown by thelist-availablesubcommand. For some languages, fish's translation catalogs are incomplete, meaning not all messages can be shown in these languages. Therefore, we allow specifying a list here, with translations taken from the first specified language which has a translation available for a message. For example, after runningstatus language set pt_BR fr, all messages which have a translation into Brazilian Portuguese will be shown in that language. The remaining messages will be shown in French, if a French translation is available. If none of the specified languages have a translation available for a message, the message will be shown in English.unsetโ undoes the effects of thesetsubcommand. Language settings will be taken from environment variables again.
๐ NOTES ๐
For backwards compatibility most subcommands can also be specified as a long or short option. For example, rather than status is-login you can type status --is-login. The flag forms are deprecated and may be removed in a future release. โ ๏ธ so like, use the subcommand form, bestie, the flags are giving legacy.
You can only specify one subcommand per invocation even if you use the flag form of the subcommand. one (1) subcommand per call, periodt.
๐ซถ COPYRIGHT ๐ซถ
fish-shell developers โ they made this, show some love ๐
and that's the whole page, no cap. this wasSTATUS(1)from fish-shell, version4.9, datedSep 08, 2026. go forth and query your runtime info, icon ๐โจ๐ฆ
๐ฆ where this page comes from
- arch rolling: fish 4.9.3-1 ยท GPL-2.0-only AND BSD-3-Clause AND ISC AND MIT AND PSF-2.0
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms