Troubleshooting Guide
April 30, 2026 · View on GitHub
Downloads fail with HTTP 202 (blocked by upstream challenge)
What this means: The host did not return the font file. Often this is an automated-client challenge from the CDN/WAF (you may see headers like x-amzn-waf-action: challenge). FontGet treats that as not a successful download.
What you can try:
- Run with
--verboseor--debugto see whether the standard downloader or an external tool ran, and to see the full HTTP status message that was returned. - In
~/.fontget/config.yaml, adjustNetwork.DownloadUserAgentif a host is picky about User-Agents (defaults matchinternal/config/default_config.yaml; override as needed). - FontGet’s standard downloader follows redirects and stores cookies for the request (closer to how browsers behave on some CDNs).
- FontGet serializes downloads per host by default to avoid looking like parallel “bot” traffic.
- Keep
Network.EnableExternalDownloadFallback: trueif you want FontGet to trycurl/wget/ PowerShell` when the plain HTTP path fails. FontGet only runs what is installed. - Retry later or try another network — blocking rules can change by IP and time.
- See if the font is available from another source:
fontget search <font-name>.- Alternatively host the font files yourself (if licensing allows this) and setup your own custom hosted source, see Custom sources.
Note: FontGet validates downloads so HTML or junk contents should not get installed as fonts.
Downloads fail with HTTP 404 / “not found”
What this means: The URL may be wrong, the upstream file may have moved/been removed, or your local source catalog may be stale.
What you can try:
fontget sources update- Retry the install.
- If it still fails:
fontget add <font-id> --debugand note the exact URL and HTTP status.
Downloads fail with HTTP 403 / “forbidden”
What this means: The host refused the request (rate limits, geo rules, permission rules, etc.).
What you can try:
- The same practical knobs as HTTP 202 (
--verbose/--debug,DownloadUserAgent, external fallbacks), plus retry later. - Note: FontGet cannot bypass a host’s policy.
Font installs to the wrong place / wrong “scope”
What this means: FontGet installs to user or machine scope depending on flags and permissions.
What you can try:
- Use
--scope useror--scope machineonfontget add,fontget browse,fontget import, etc. - Machine scope usually needs elevation (Administrator /
sudo). - Confirm where fonts landed:
fontget list --scope all(or filter by scope).
Config reset doesn’t match docs
What this means: The FontGet binary you are running is older than the docs you’re reading. fontget config reset regenerates ~/.fontget/config.yaml from the defaults embedded in from the installed version.
What you can try:
- Update FontGet (see Installation if
fontget updateisn’t available). fontget config resetfontget config validate
--debug looks broken inside the TUI
What this means: Bubble Tea uses stdout for rendering; mixing unrelated stdout lines into the UI looks broken.
What you can try: Nothing — this is expected. Debug output goes to stderr so it does not corrupt fullscreen rendering.
“command not found” / PATH
What this means: Your shell cannot find the fontget executable on PATH (or it points at an unexpected install location).
What you can try: See Troubleshooting in Installation.
Terminal rendering / colors / completions
What this means: Your terminal, shell, or theme may affect colors, fonts, and completion loading.
What you can try: See Terminal setup.