Configuration

Under Construction

Configure PySH with .pysh.toml — prompt themes, history, plugins, and environment.

Configuration file location

PySH reads its configuration from ~/.pysh.toml in the user home directory. If the file does not exist, PySH uses sensible defaults and will create a template on first launch.

Prompt configuration

~/.pysh.toml — prompt section

[prompt]

theme = "modern"

show_python = true

show_tools = true

show_directory = true

show_git_branch = true

  • theme — Prompt theme name. Available themes: "modern", "minimal", "classic".
  • show_python — Show Python version in the prompt.
  • show_tools — Show active tool versions (uv, ruff, etc.) in the prompt.
  • show_directory — Show the current working directory.
  • show_git_branch — Show the active git branch when inside a git repository.

History settings

~/.pysh.toml — history section

[history]

size = 10000

deduplicate = true

file = "~/.pysh_history"

Plugin configuration

~/.pysh.toml — plugins section

[plugins]

enabled = [

"git",

"docker",

"python"

]

Note: Plugins listed in the enabled array must be installed as Python packages before PySH will load them. Missing plugins produce a warning, not a hard error.

Environment variables

  • PYSH_CONFIG — Override the path to the configuration file.
  • PYSH_NO_PLUGINS — Set to "1" to disable all plugins at startup.
  • PYSH_LOG_LEVEL — Set logging verbosity: DEBUG, INFO, WARNING, ERROR.