building @bunjavascript at @anthropicai. formerly: @stripe (twice) @thielfellowship. high school dropout. npm i -g bun

Joined May 2014
3,897 Photos and videos
Pinned Tweet
People frequently ask: > How is Bun sustainable? If I bet my company’s tech stack on Bun, will Bun still be around in a few years? We didn’t have a great answer to this question, until today
2 Dec 2025
Bun is joining Anthropic! bun.com/blog/bun-joins-anthr…
265
142
4,443
824,866
feature request for GitHub’s gh cli: a subcommand for agents monitoring PRs - view unresolved pr review comments as markdown or xml with file:line - show failing gh action logs, maybe filtered to near the error - show lint errors from gh actions
30
8
430
26,379
Also, this should be one subcommand not 3. And it should have a —wait or —watch flag that waits until all checks finish but default to show the current logs for any that have already failed . If everything is pending and no failures yet then automatically wait. Basically, fail fast by default
5
35
6,366
Also: a subcommand for marking a PR review comment as resolved. I think it needs the graphql api right now and the incantation is difficult
10
2,817
2008 - 2025 problem: duplicate issues 2026 problem: duplicate PRs
20
12
793
41,610
Bun v1.3.10 ships on Friday
16
4
392
20,021
Long-running Claude Code sessions use less memory in v2.1.47, thanks to @cirospaciari Keep reporting issues and the team will fix
Claude Code CLI 2.1.47 changelog: • Fixed FileWriteTool line counting to preserve intentional trailing blank lines instead of stripping them with `trimEnd()`. • Fixed Windows terminal rendering bugs caused by `os.EOL` (`\r\n`) in display code — line counts now show correct values instead of always showing 1 on Windows. • Improved VS Code plan preview: auto-updates as Claude iterates, enables commenting only when the plan is ready for review, and keeps the preview open when rejecting so Claude can revise. • Fixed a bug where bold and colored text in markdown output could shift to the wrong characters on Windows due to `\r\n` line endings. • Fixed compaction failing when conversation contains many PDF documents by stripping document blocks alongside images before sending to the compaction API (anthropics/claude-code#26188) • Improved memory usage in long-running sessions by releasing API stream buffers, agent context, and skill state after use • Improved startup performance by deferring SessionStart hook execution, reducing time-to-interactive by ~500ms. • Fixed an issue where bash tool output was silently discarded on Windows when using MSYS2 or Cygwin shells. • Improved performance of `@` file mentions - file suggestions now appear faster by pre-warming the index on startup and using session-based caching with background refresh. • Improved memory usage by trimming agent task message history after tasks complete • Improved memory usage during long agent sessions by eliminating O(n²) message accumulation in progress updates • Fixed the bash permission classifier to validate that returned match descriptions correspond to actual input rules, preventing hallucinated descriptions from incorrectly granting permissions • Fixed user-defined agents only loading one file on NFS/FUSE filesystems that report zero inodes (anthropics/claude-code#26044) • Fixed plugin agent skills silently failing to load when referenced by bare name instead of fully-qualified plugin name (anthropics/claude-code#25834) • Search patterns in collapsed tool results are now displayed in quotes for clarity • Windows: Fixed CWD tracking temp files never being cleaned up, causing them to accumulate indefinitely (anthropics/claude-code#17600) • Use `ctrl f` to kill all background agents instead of double-pressing ESC. Background agents now continue running when you press ESC to cancel the main thread, giving you more control over agent lifecycle. • Fixed API 400 errors ("thinking blocks cannot be modified") that occurred in sessions with concurrent agents, caused by interleaved streaming content blocks preventing proper message merging. • Simplified teammate navigation to use only Shift Down (with wrapping) instead of both Shift Up and Shift Down. • Fixed an issue where a single file write/edit error would abort all other parallel file write/edit operations. Independent file mutations now complete even when a sibling fails. • Added `last_assistant_message` field to Stop and SubagentStop hook inputs, providing the final assistant response text so hooks can access it without parsing transcript files. • Fixed custom session titles set via `/rename` being lost after resuming a conversation (anthropics/claude-code#23610) • Fixed collapsed read/search hint text overflowing on narrow terminals by truncating from the start. • Fixed an issue where bash commands with backslash-newline continuation lines (e.g., long commands split across multiple lines with `\`) would produce spurious empty arguments, potentially breaking command execution. • Fixed built-in slash commands (`/help`, `/model`, `/compact`, etc.) being hidden from the autocomplete dropdown when many user skills are installed (anthropics/claude-code#22020) • Fixed MCP servers not appearing in the MCP Management Dialog after deferred loading • Fixed session name persisting in status bar after `/clear` command (anthropics/claude-code#26082) • Fixed crash when a skill's `name` or `description` in SKILL.md frontmatter is a bare number (e.g., `name: 3000`) — the value is now properly coerced to a string (anthropics/claude-code#25837) • Fixed /resume silently dropping sessions when the first message exceeds 16KB or uses array-format content (anthropics/claude-code#25721) • Added `chat:newline` keybinding action for configurable multi-line input (anthropics/claude-code#26075) • Added `added_dirs` to the statusline JSON `workspace` section, exposing directories added via `/add-dir` to external scripts (anthropics/claude-code#26096) • Fixed `claude doctor` misclassifying mise and asdf-managed installations as native installs (anthropics/claude-code#26033) • Fixed zsh heredoc failing with "read-only file system" error in sandboxed commands (anthropics/claude-code#25990) • Fixed agent progress indicator showing inflated tool use count (anthropics/claude-code#26023) • Fixed image pasting not working on WSL2 systems where Windows copies images as BMP format (anthropics/claude-code#25935) • Fixed background agent results returning raw transcript data instead of the agent's final answer (anthropics/claude-code#26012) • Fixed Warp terminal incorrectly prompting for Shift Enter setup when it supports it natively (anthropics/claude-code#25957) • Fixed CJK wide characters causing misaligned timestamps and layout elements in the TUI (anthropics/claude-code#26084) • Fixed custom agent `model` field in `.claude/agents/*.md` being ignored when spawning team teammates (anthropics/claude-code#26064) • Fixed plan mode being lost after context compaction, causing the model to switch from planning to implementation mode (anthropics/claude-code#26061) • Fixed `alwaysThinkingEnabled: true` in settings.json not enabling thinking mode on Bedrock and Vertex providers (anthropics/claude-code#26074) • Fixed `tool_decision` OTel telemetry event not being emitted in headless/SDK mode (anthropics/claude-code#26059) • Fixed session name being lost after context compaction — renamed sessions now preserve their custom title through compaction (anthropics/claude-code#26121) • Increased initial session count in resume picker from 10 to 50 for faster session discovery (anthropics/claude-code#26123) • Windows: fixed worktree session matching when drive letter casing differs (anthropics/claude-code#26123) • Fixed `/resume <session-id>` failing to find sessions whose first message exceeds 16KB (anthropics/claude-code#25920) • Fixed "Always allow" on multiline bash commands creating invalid permission patterns that corrupt settings (anthropics/claude-code#25909) • Fixed React crash (error #31) when a skill's `argument-hint` in SKILL.md frontmatter uses YAML sequence syntax (e.g., `[topic: foo | bar]`) — the value is now properly coerced to a string (anthropics/claude-code#25826) • Fixed crash when using `/fork` on sessions that used web search — null entries in search results from transcript deserialization are now handled gracefully (anthropics/claude-code#25811) • Fixed read-only git commands triggering FSEvents file watcher loops on macOS by adding --no-optional-locks flag (anthropics/claude-code#25750) • Fixed custom agents and skills not being discovered when running from a git worktree — project-level `.claude/agents/` and `.claude/skills/` from the main repository are now included (anthropics/claude-code#25816) • Fixed non-interactive subcommands like `claude doctor` and `claude plugin validate` being blocked inside nested Claude sessions (anthropics/claude-code#25803) • Windows: Fixed the same CLAUDE.md file being loaded twice when drive letter casing differs between paths (anthropics/claude-code#25756) • Fixed inline code spans in markdown being incorrectly parsed as bash commands (anthropics/claude-code#25792) • Fixed teammate spinners not respecting custom spinnerVerbs from settings (anthropics/claude-code#25748) • Fixed shell commands permanently failing after a command deletes its own working directory (anthropics/claude-code#26136) • Fixed hooks (PreToolUse, PostToolUse) silently failing to execute on Windows by using Git Bash instead of cmd.exe (anthropics/claude-code#25981) • Fixed LSP `findReferences` and other location-based operations returning results from gitignored files (e.g., `node_modules/`, `venv/`) (anthropics/claude-code#26051) • Moved config backup files from home directory root to `~/.claude/backups/` to reduce home directory clutter (anthropics/claude-code#26130) • Fixed sessions with large first prompts (>16KB) disappearing from the /resume list (anthropics/claude-code#26140) • Fixed shell functions with double-underscore prefixes (e.g., `__git_ps1`) not being preserved across shell sessions (anthropics/claude-code#25824) • Fixed spinner showing "0 tokens" counter before any tokens have been received (anthropics/claude-code#26105) • VSCode: Fixed conversation messages appearing dimmed while the AskUserQuestion dialog is open (anthropics/claude-code#26078) • Fixed background tasks failing in git worktrees due to remote URL resolution reading from worktree-specific gitdir instead of the main repository config (anthropics/claude-code#26065) • Fixed Right Alt key leaving visible `[25~` escape sequence residue in the input field on Windows/Git Bash terminals (anthropics/claude-code#25943) • The `/rename` command now updates the terminal tab title by default (anthropics/claude-code#25789) • Fixed Edit tool silently corrupting Unicode curly quotes (\u201c\u201d \u2018\u2019) by replacing them with straight quotes when making edits (anthropics/claude-code#26141) • Fixed OSC 8 hyperlinks only being clickable on the first line when link text wraps across multiple terminal lines. Source: github.com/anthropics/claude…
27
33
705
102,924
More improvements coming in the next version
1
61
7,639
This is now available in the canary build of Bun ``` bun upgrade --canary ``` bun.com/docs/bundler/standal…
In the next version of Bun ``` bun build --compile --target=browser ./index.html ``` Bundles & inlines all CSS and JS into a single standalone .html file - no external `<script>` or `<link>` tags. One file, zero dependencies.
12
4
175
20,336
Jarred Sumner retweeted
It's here. Electrobun is ready for you. npx electrobun init blackboard.sh/blog/electrobu…
42
40
433
176,141
Underdocumented: `bun build --compile` supports `--splitting —format=esm` Lazy load code embedded in your single-file executable to improve CLI start time
9
8
274
23,193
In the next version of Bun ``` bun build --compile --target=browser ./index.html ``` Bundles & inlines all CSS and JS into a single standalone .html file - no external `<script>` or `<link>` tags. One file, zero dependencies.
39
50
1,348
104,782
Usecases: - when you don’t want a localhost server to open a .html file - so you don’t have to think about relative paths when uploading throwaway .html files to s3 - when you want to workaround CORs restrictions with file:// URLs - when you want to iMessage a .html file
5
168
11,569
Since this runs bun’s bundler and transpilers, this works with React, TypeScript TSX JSX etc as well as all the other features like TOML & YAML imports, ESM <> CJS interop etc
3
117
9,092
if you have a bun GitHub issue open for awhile with a clear reproduction, reply with a link below & I will have Claude try to fix it today
81
7
485
70,771
it’s running
4
96
14,028
In the next version of Bun Bun’s bundler shims/module wrappers are lower overhead, which in large TypeScript projects can reduce the total number of objects by 10%
8
5
269
15,326
This makes apps using Bun’s bundler very slightly faster for two reasons: 1) faster property accesses for imports that point to what were commonjs modules 2) fewer objects for the GC to visit
2
64
7,373