TYPE(1)

πŸ’… TYPE(1) β€” the fish-shell glow-up

okay so bestie, welcome to type(1) from fish-shell β€” this is the fish builtin, and she's the one who tells you what a command actually is. Let's get into it ✨


🌸 NAME 🌸

type β€” locate a command and describe its type. literally her whole job, and she ate πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

type [OPTIONS] NAME [...]

πŸŽ€ DESCRIPTION πŸŽ€

⚠️ read this first, bestie: this page documents the fish builtin type. If you wanna see the docs for any non-fish version, run command man type. iykyk πŸ™ˆ

With no options, type tells you how each NAME would be interpreted if you used it as a command name. that's it. that's the vibe check πŸ‘‘

The following options are available, and yes we're going through all of them 🫢


✨ OPTIONS ✨

  • -a, --all β€” prints all of the possible definitions of the specified names. all of them, not just the first one she finds πŸ’–
  • -s, --short β€” don't print function definitions when used with no options or with -a/--all. keeps it cute and brief πŸŽ€
  • -f, --no-functions β€” suppresses function lookup. functions? not invited to this party 🚫
  • -t, --type β€” prints function, builtin, or file if NAME is a shell function, builtin, or disk file, respectively. one lil word, maximum clarity ⭐
  • -p, --path β€” prints the path to NAME if NAME resolves to an executable file in PATH <#envvar-PATH>, the path to the script containing the definition of the function NAME if NAME resolves to a function loaded from a file on disk (i.e. not interactively defined at the prompt), or nothing otherwise. yes she's thorough like that πŸ”₯
  • -P, --force-path β€” returns the path to the executable file NAME, presuming NAME is found in the PATH <#envvar-PATH> environment variable, or nothing otherwise. --force-path explicitly resolves only the path to executable files in PATH <#envvar-PATH>, regardless of whether NAME is shadowed by a function or builtin with the same name. no shadowing drama, she's looking at the filesystem and only the filesystem πŸ’€
  • -q, --query β€” suppresses all output; this is useful when testing the exit status. for compatibility with old fish versions this is also --quiet. silent but observant 🀫
  • --color WHEN β€” controls when to use syntax highlighting colors when printing function definitions. WHEN can be auto (the default, colorize if the output is a terminal <>) , always, or never. aesthetic decisions are important 🌈
  • -h, --help β€” displays help about using this command. the classic 🫢

πŸ’€ the mutual exclusivity bit (important!!)

The -q, -p, -t and -P flags (and their long flag aliases) are mutually exclusive. Only one can be specified at a time. pick a lane bestie, she can't do all four 😭


πŸ‘‘ EXIT STATUS πŸ‘‘

type returns 0 if at least one entry was found, 1 otherwise, and 2 for invalid options or option combinations.

🚨 so like, 2 is the "girl what did you even type" code. don't be that person.

🌟 EXAMPLE 🌟

>_ type fg
fg is a builtin

see? iconic. instant clarity. no notes 🧚


fish-shell developers β€” appreciate them fr fr 🫢


and that's the whole page, bestie!! ✨ remember: this is the fish builtin, use command man type for the other ones, and one mutually-exclusive flag at a time please πŸŽ€

fish-shell β€” version 4.9 β€” dated Sep 08, 2026 πŸ’… mwah, go describe some commands πŸ¦‹

πŸ“¦ 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