Verify inshellisense installation
mainis doctor to verify that the installation was successful. You can start an autocomplete session by running is or the alias inshellisense.is doctor
isrepository·main·Indexed 27 days ago
https://github.com/microsoft/inshellisenseIDE-style command line autocomplete supporting over 600 tools across Windows, Linux, and macOS. It provides shell integration for bash, zsh, fish, pwsh, powershell, xonsh, and nu. The tool includes a CLI for installation management (init, reinit, uninstall), health checks (doctor), and configuration via TOML for keybindings and appearance.
is doctor to verify that the installation was successful. You can start an autocomplete session by running is or the alias inshellisense.is doctor
isTo automatically start inshellisense whenever you open a new shell session, run the initialization command for your specific shell and append the output to your shell's configuration file.
Important: Ensure the inshellisense plugin is the last command in your shell configuration file to prevent breaking your shell setup (e.g., initializing a shell plugin manager after inshellisense may cause issues).
# bash
is init bash >> ~/.bashrc
# zsh
is init zsh >> ~/.zshrc
# fish
is init fish >> ~/.config/fish/config.fish
# pwsh
is init pwsh | Add-Content $profile
# powershell
is init powershell | Add-Content $profile
# xonsh
is init xonsh >> ~/.xonshrc
# nushell
is init nu | save $nu.env-path --appendTo update inshellisense, update the package via your package manager and then run is reinit to refresh the configuration.
npm install -g @microsoft/inshellisense # OR brew upgrade inshellisense
is reinitYou can install inshellisense using npm (recommended) or Homebrew on macOS/Linux. After installation, you must run is init to complete the setup.
# npm (recommended)
npm install -g @microsoft/inshellisense
is init
# homebrew (macOS/linux)
brew tap microsoft/inshellisense https://github.com/microsoft/inshellisense
brew install inshellisense
is initYou can customize the keybindings by adding a [bindings] section to your TOML configuration file. Key names must match Node.js keypress events. The shift and ctrl options are optional and default to false.
[bindings.acceptSuggestion]
key = "tab"
shift = false
ctrl = false
[bindings.nextSuggestion]
key = "down"
[bindings.previousSuggestion]
key = "up"
[bindings.dismissSuggestions]
key = "escape"~/.inshellisenserc or, for XDG compliance, at ~/.config/inshellisense/rc.toml.Use the following keys in your TOML configuration file to adjust inshellisense behavior:
useAliases = true: Enables alias expansion for bash/zsh shells.useNerdFont = true: Enables support for NerdFont patched fonts.maxSuggestions = <number>: Sets the maximum number of suggestions displayed in the autocomplete list at once.useAliases = true
useNerdFont = true
maxSuggestions = 10inshellisense session, use the following commands and keybindings to manage the session and navigate suggestions. Keybindings only capture input when suggestions are visible; otherwise, they are passed through to the shell.Some shells rewrite the prompt after every keystroke or command acceptance, which can cause issues with UI synchronization. Use getShellPromptRewrites(shell) to check if a shell requires special handling.
Returns true for:
NushellXonshexport const getShellPromptRewrites = (shell: Shell) => shell == Shell.Nushell || shell == Shell.Xonsh;shouldFallbackToDec function determines if the environment should fallback to DEC mode. It returns true if the TERMINAL_EMULATOR environment variable is set to JetBrains-JediTerm.The gitBashPath() function searches for a valid Git Bash executable on Windows systems. It checks common installation directories, including:
git.exe location).ProgramFiles and ProgramFiles(X86).LocalAppData\Program.~/scoop/apps/git/current/bin/bash.exe).It throws an error if no valid Git Bash executable is found.