id = "glances" name = "Glances" homepage = "https://github.com/nicolargo/glances" description = "A cross-platform curses-based monitoring tool." executables = ["glances"] [dotfiles] # https://glances.readthedocs.io/en/latest/glances.html#location — the # project's configuration documentation names ~/.config/glances/glances.conf # on Linux and macOS, ~/Library/Application Support/glances/glances.conf also # on macOS, and %APPDATA%\\glances\\glances.conf on Windows. These are the # XDG and platform-native config roots respectively. paths = [ "[configHome]/glances/glances.conf", "[appData]/glances/glances.conf", ] exclude = [] secret = [] # Glances reads this file when it starts; there is no resident writer between # invocations. side_effect = false # The same documentation's sample configuration contains InfluxDB's # `password` and Web UI's `ssl_keyfile_password`. They are credentials in an # otherwise useful INI file; the matcher is line-oriented because the catalog # parser has no INI key-path format. [[dotfiles.secret_paths]] file = ["[configHome]/glances/glances.conf", "[appData]/glances/glances.conf"] match = { prefix = ["password", "ssl_keyfile_password"] } [commands] format = 1 label = "Run Glances" description = "Start the Glances monitor in the terminal, as a web/API server, or connected to a remote Glances server. Exporters other than CSV and JSON, authentication and MCP options are left out." quality = "ai-draft" parser = { end_of_options = "--", interleave = "permute", long_equals = true, short_attached = true, short_bundles = true } [[commands.source]] id = "man" kind = "manual" url = "https://github.com/nicolargo/glances/blob/develop/docs/man/glances.1" revision = "develop 2026-10-27" evidence = """ -t , --time : refresh rate in seconds (overrides [global] refresh) [default: 2 sec] -C , --config : path to the glances.conf file to use --disable-plugin , --disable-plugins , --disable : disable plugins (comma-separated list or all) --enable-plugin , --enable-plugins , --enable : enable plugins (comma-separated list) --stop-after : stop after n refreshes -s, --server, -w, --webserver: run as a REST API server (FastAPI, /api/5) and serve the Web UI -B , --bind : bind address [default: 127.0.0.1] -p , --port : listening port [default: 61208] --disable-webui: serve the REST API without the Web UI (requires --server) --open-web-browser: open the Web UI in the default Web browser at startup -c , --client : show a remote Glances v5 server in the TUI: host, host:port -q, --quiet, --no-tui: disable the curses TUI (for example to only run the exports) --export : enable export modules (comma-separated list, e.g. csv,influxdb2) --export-csv-file : file path for the CSV exporter [default: ./glances.csv] --stdout : print stats to stdout, one line per stat and refresh --stdout-json : print the selected plugins' stats to stdout as one JSON object """ [[commands.field]] id = "time" label = "Refresh interval (seconds)" type = "number" option = ["--time", "-t"] sources = ["man"] [[commands.field]] id = "config" label = "Config file" type = "path" option = ["--config", "-C"] path = { kind = "file", role = "input", must_exist = true } sources = ["man"] [[commands.field]] id = "disable_plugin" label = "Disable plugins" description = "Comma-separated plugin names, or all." type = "string" option = ["--disable-plugin"] sources = ["man"] [[commands.field]] id = "enable_plugin" label = "Enable plugins" description = "Comma-separated plugin names." type = "string" option = ["--enable-plugin"] sources = ["man"] [[commands.field]] id = "stop_after" label = "Stop after N refreshes" type = "integer" option = ["--stop-after"] sources = ["man"] [[commands.field]] id = "webserver" label = "Run as web / API server" type = "boolean" option = ["--webserver", "-w"] sources = ["man"] [[commands.field]] id = "bind" label = "Bind address" type = "string" option = ["--bind", "-B"] sources = ["man"] [[commands.field]] id = "port" label = "Port" type = "integer" option = ["--port", "-p"] sources = ["man"] [[commands.field]] id = "disable_webui" label = "API only (no web UI)" type = "boolean" option = ["--disable-webui"] sources = ["man"] [[commands.field]] id = "open_web_browser" label = "Open web UI in browser" type = "boolean" option = ["--open-web-browser"] sources = ["man"] [[commands.field]] id = "client" label = "Remote server to view" description = "host or host:port of a Glances server." type = "string" option = ["--client", "-c"] sources = ["man"] [[commands.field]] id = "quiet" label = "No TUI" type = "boolean" option = ["--quiet", "-q"] sources = ["man"] [[commands.field]] id = "export" label = "Export modules" type = "string" option = ["--export"] suggestions = [{ value = "csv", label = "CSV" }, { value = "json", label = "JSON" }] sources = ["man"] [[commands.field]] id = "export_csv_file" label = "CSV export file" type = "path" option = ["--export-csv-file"] path = { kind = "file", role = "output", must_exist = false } effect = "overwrite" sources = ["man"] [[commands.field]] id = "stdout" label = "Print stats to stdout" description = "Comma-separated plugin[.key].attr list." type = "string" option = ["--stdout"] sources = ["man"] [[commands.task]] id = "web" label = "Web server" fields = ["webserver", "bind", "port", "disable_webui", "open_web_browser"] required = ["webserver"] set = { webserver = [true] } lock = ["webserver"] [[commands.task]] id = "remote" label = "View a remote server" fields = ["client", "time"] required = ["client"] [[commands.task]] id = "stdout" label = "Print stats" fields = ["stdout", "time", "stop_after"] required = ["stdout"] [[commands.group]] id = "basic" label = "Basic" fields = ["time", "config", "webserver", "bind", "port", "client", "stdout"] [[commands.group]] id = "advanced" label = "Advanced" fields = ["disable_plugin", "enable_plugin", "stop_after", "disable_webui", "open_web_browser", "quiet", "export", "export_csv_file"]