SO(1)
π SO(1) β bestie's terminal glow-up for StackOverflow
okay so real talk, this is the manual page for so, a terminal interface for StackOverflow, living in the good ol' General Commands Manual. she's giving main character energy and she's here to answer your questions without you ever leaving the terminal. periodt.
πΈ NAME πΈ
so β terminal interface for StackOverflow. that's it, that's the whole vibe.
β¨ SYNOPSIS β¨
so [--list-sites] [--update-sites] [--set-api-key key]
[-s | --site site-code] [-l | --limit int] [--lucky | --no-lucky]
[-e | --search-engine engine] query ...
yeah the synopsis is a little long, she's a busy girl, but every single one of those flags matters, so let's get into it π«Ά
π¦ DESCRIPTION π¦
so is a terminal-based interface to the StackExchange network that lets you search and browse StackOverflow questions and answers directly from the command line. it hooks you up with a fast, intuitive text user interface (TUI) made for developers who lowkey would rather die than open a browser π
the tool supports searching any site in the StackExchange network, including StackOverflow, AskUbuntu, Unix & Linux, TeX, and honestly so many others. results can be filtered by site, and you can run your searches using either Google, DuckDuckGo, or StackExchange's native search as the backend. choices, choices, iconic behavior.
the options are as follows:
π OPTIONS π
--list-sitesβ print a table of all available StackExchange sites with their site codes and URLs. it's a whole directory, go look π--update-sitesβ update the local cache of StackExchange sites. use this if a site code isn't recognized or if new sites have been added to the StackExchange network. glow-up time for your cache β¨--set-api-keykeyβ set the StackExchange API key for authenticated requests. this raises your API rate limit. check the "API KEYS" section for the tea π-ssite-code,--sitesite-codeβ specify a StackExchange site to search. bestie you can pass this option multiple times to search across multiple sites simultaneously, no cap. common site codes includestackoverflow,askubuntu,unix,tex, andserverfault. use--list-sitesto see all available sites. Default: configured sites orstackoverflow.-lint,--limitintβ set the maximum number of questions to retrieve. Default:20.--luckyβ display only the top-voted answer from the most relevant question, similar to Google's "I'm Feeling Lucky" feature. after the answer shows up, you can press SPACE to enter the full TUI, o to open the answer in a browser, or literally any other key to exit. it's giving "just give me the answer" energy π--no-luckyβ disable lucky mode if it's enabled by default in the configuration file. mutuals off π-eengine,--search-engineengineβ specify which search engine to use for finding relevant questions. valid values are:duckduckgo,google, orstackexchange.
StackExchange search is the fastest since it requires no HTML parsing, but it gives you the most basic search functionality. DuckDuckGo is the default but may occasionally block requests π. Google provides comprehensive search but is slower due to larger response sizes.
π₯ EXAMPLES π₯
search StackOverflow with the default configuration:
$ so how do i reverse a list in python
search for a LaTeX solution on tex.stackexchange.com:
$ so --site tex how to put tilde over character
search multiple sites using Google as the search engine:
$ so -e google -s askubuntu -s stackoverflow -s unix how do i
install linux
get the top answer immediately using lucky mode:
$ so --lucky how to exit vim
list all available StackExchange sites:
$ so --list-sites
set a StackExchange API key:
$ so --set-api-key YOUR_API_KEY_HERE
π CONFIGURATION π
so uses configuration files to store default settings at ~/.config/so/
to print the configuration file path:
$ so --print-config-path
the configuration file is in YAML format and supports the following options:
api_keyβ StackExchange API key (default: built-in key)limitβ number of questions to retrieve (default:20)luckyβ enable lucky mode by default (default:true)sitesβ list of default StackExchange sites to searchsearch_engineβ default search engine (duckduckgo,google, orstackexchange)copy_cmdβ command for copying to system clipboard (default:xclip)
example configuration at ~/.config/so/config.yml
---
api_key: ~
limit: 20
lucky: true
sites:
- stackoverflow
- askubuntu
search_engine: google
copy_cmd: xclip
π THEMES π
color themes can be customized by editing the colors.toml file in the configuration directory. sample themes are available in the upstream repository. go make it cute π
π API KEYS π
so includes a built-in StackExchange API key for convenience. users can optionally set their own API key to avoid shared rate limits.
to obtain an API key:
- visit https://api.stackexchange.com/docs
- register an application
- set the key using
--set-api-key
without an API key, the StackExchange API allows 300 requests per day per IP address. with a key, this limit is significantly increased. huge W π
π EXIT STATUS π
the so utility exits 0 on success, and >0 if an error occurs.
π«Ά SEE ALSO π«Ά
β AUTHORS β
so was written by Sam Tay <sam.chong.tay@pm.me>.
this manual page was written by Nadzeya Hutsko <nadzya.info@gmail.com>
π BUGS π
bug reports and feature requests can be submitted at: https://github.com/samtay/so/issues
known limitations:
- DuckDuckGo may occasionally block requests; use Google or StackExchange search engines as alternatives
- searching more than 30 sites simultaneously may trigger StackExchange API rate limiting
- some terminal emulators may not properly render all Unicode characters used in markdown content
fr fr, if your terminal is out here mangling the pretty unicode, that's a you-terminal problem, not a so problem π
and that's the whole manual bestie π¦ this page came from the Debian crew, dated December 7, 2025 β so when you're out here searching StackOverflow from your terminal like the icon you are, just know she was documented with love. slay, so, periodt π
β¨
π¦ where this page comes from
- ubuntu stonking: so 0.4.10-4 Β· MIT
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms