sindresorhus/log-update log-update
SkillMonitoring & opsLog by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc. ALWAYS use when writing code importing \"log-update\". Consult for debugging, best practices, or modifying log-update, log update.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the sindresorhus/log-update log-update skill
What this skill tells your AI
The instructions your AI receives, as published by skilld-dev/skilld in .claude/skills/sindresorhus-log-update/SKILL.md and read by ahel’s review.
Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
Version: 7.2.0 Deps: ansi-escapes@^7.3.0, cli-cursor@^5.0.0, slice-ansi@^8.0.0, strip-ansi@^7.2.0, wrap-ansi@^10.0.0 Tags: latest: 7.2.0
References: package.json — exports, entry points • GitHub Issues — bugs, workarounds, edge cases • Releases — changelog, breaking changes, new APIs
Search
Use skilld search "query" -p log-update instead of grepping .skilld/ directories. Run skilld search --guide -p log-update for full syntax, filters, and operators.
API Changes
This section documents version-specific API changes — prioritize recent major/minor releases.
-
BREAKING: Node.js requirement updated from 18 to 20 in v7.0.0 — code targeting earlier Node.js versions will fail at runtime source
-
NEW:
persist(...text)method added in v7.0.0 — writes output that persists in terminal scrollback, unlike the mainlogUpdate()which updates in place source -
NEW:
defaultWidthoption added in v7.0.0 — allows specifying terminal width (default: 80) when the stream doesn't providecolumnsproperty, useful for piped or redirected output source -
NEW:
defaultHeightoption added in v7.0.0 — allows specifying terminal height (default: 24) when the stream doesn't providerowsproperty, useful for piped or redirected output source
Also changed: Partial update rendering optimization v7.0.0 · Trailing newline handling fixes v7.0.1–v7.0.2
Best Practices
-
Use
.persist()for permanent terminal output that should remain in scrollback history — it writes likeconsole.log()instead of updating in-place, ideal for results or status messages that users need to scroll back to review source -
Call
.done()before starting a new log session to persist the current output and prepare for fresh updates below — prevents scrollback contamination source -
Enable
showCursor: truewhen your CLI accepts user input or displays a prompt — otherwise the hidden cursor creates a poor UX for interactive interfaces source -
Set
defaultWidthanddefaultHeightoptions when output is piped, redirected, or running in non-TTY environments — without this, the library assumes 80x24 which causes incorrect line wrapping and erasure source -
Create separate
logUpdateinstances viacreateLogUpdate(stream)for each independent update context instead of reusing the default export — prevents one instance's updates from clobbering another's source -
Understand that log-update can only erase and rewrite lines currently visible in the terminal viewport — content already in scrollback cannot be manipulated, so extremely long outputs will overflow and "leak" source
-
Account for ANSI escape sequences in output width calculations — the library properly handles colorized text with tools like chalk/yoctocolors and accounts for their escape codes when calculating line wrapping source
-
Use
logUpdateStderrfor error messages and warnings instead oflogUpdate— maintains separation between stdout and stderr streams source -
Leverage partial/synchronized rendering in v7.1.0+ for reduced flicker when updating large outputs — the library now intelligently redraws only changed lines instead of erasing everything source
-
Be aware that multiple consecutive blank lines at the end of output may collapse to a single blank line during rendering optimization — design output that doesn't rely on exact blank line preservation source
Signals
- GitHub stars
- 309
- Forks
- 9
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
sindresorhus-log-update- Source
- github.com/skilld-dev/skilld