Another thing I have been working on for a couple of months:
Ink 7
New hooks: usePaste, useWindowSize, useBoxMetrics, useAnimation
More props stuff for <Box>: maxWidth/maxHeight, aspectRatio, alignContent, position="static"
Ink lets you build CLIs with React
github.com/vadimdemedes...
Posts by Sindre Sorhus
Now also with JSON schema validation support.
- Before/after request hooks
- Auto JSON body stringify
- Default search parameters
- Download/upload progress tracking
- Pagination
It has everything you will need:
- Retries
- Timeouts
- HTTP error throwing (non-2xx)
- Base URL (resolve relative URLs against a base)
- Default headers
- Auto token refresh on 401
- Client-side rate limiting
- Concurrency limiting
- Request deduplication
- In-memory caching
Build your own HTTP client with fetch-extras
Take only what you need. Tree-shakeable.
Built on Fetch. Works in the browser, Node.js, etc.
github.com/sindresorhus...
```js
// baseUrl
ky('users', {baseUrl: '/api/'})
//→ /api/users
ky('/users', {baseUrl: '/api/'})
//→ /users (leading slash = origin-root)
// prefix
ky('users', {prefix: '/api'})
//→ /api/users
ky('/users', {prefix: '/api'})
//→ /api/users (leading slash ignored)
```
baseUrl vs prefix
`baseUrl` uses standard URL resolution: `/users` means origin-root, `users` means relative to the base path.
`prefix` does simple string joining first, so `/users` and `users` both append to the prefix the same way. Use it only when you want that behavior.
New `baseUrl` option fixes URL handling, `searchParams` option now merges, retries are now more precise by distinguishing failure types, built-in JSON schema validation.
Ky is a tiny JS HTTP client built on top of the built-in Fetch.
For the past two months I have been working hard on Ky 2 and now it's finally out.
All bugs fixed. All GitHub issues resolved. Cleaner API, stricter behavior, fewer footguns.
github.com/sindresorhus...
This is a iOS 26 bug. Unfortunately, nothing I can do anything about.
For example, the app icon was generated by the app. Unfortunately, I lost the prompt.
It depends on the image size you choose. But 16 GB is the minimum. For larger sizes, 48 GB or 64 GB is recommended.
Completely free
Requires macOS 26, an Apple silicon Mac (no Intel), minimum 16 GB RAM, and 20 GB free disk space
It's likely that there is some instance of Aiko running in Shortcuts that never finished so it thinks something is running. Try to quit anything called Aiko and Intent Extension in Activity Monitor. I will look into better handling of this.
New app
Imago 🦊
Generate images from text using Flux 2, locally on your computer
sindresorhus.com/imago
In the next update, I will add a "Get Date Added of File" action to get the date added. You can then use it to filter yourself with other actions.
Get Image URLs from Web Page
Get Images from Web Page
Get Meta Tags of URL
Get Media Metadata
Get Raw Media Metadata
Convert Text File Encoding
Manage Shortcut Lock
Overlay Image (Extended)
Scan Barcodes in Image
Convert Number Base
Find Points of Interest
Calculate Bearing
Parse/Make Markdown Table
sindresorhus.com/actions
New actions:
Ask for Input with Dialog
Combine Audio Files
Counter
Keychain
Make Live Photo from Video
Create Temporary Folder
Generate Emojis
Filter List of Dictionaries
Sort List of Dictionaries
Remove Dictionary Values
Get Contents of URL (Extended)
Get Dates in Range
Actions 4 ⚙️
Now with 180+ useful actions to elevate the Shortcuts app
Completely free
Disable Universal Clipboard — Stops clipboard syncing with your other Apple devices without disabling Handoff.
For the Mission Control improvements tweak, you can now navigate between windows with arrow keys and press Return to bring one to the front.
sindresorhus.com/supercharge/...
The rest:
Middle-click a folder in the Finder sidebar to open it in a new tab.
Archive old screenshots automatically
Prevent accidentally dragging text — Sometimes you accidentally drag text and it creates a .textClipping file. This prevents that.
Some nice Finder improvements:
Reopen last closed Finder tab with ⇧⌘T
Paste image as file in Finder
Pressing ⌘V in Finder with an image on the clipboard now saves it as a file. Normally, this does nothing.
New in Supercharge
Add a sound effect to any keyboard shortcut
For example, play a sound when you open Spotlight
And the reason I wrote the parser, to fix a 10+ year old macOS bug - "Put Back" being broken when programmatically trashing multiple files: github.com/sindresorhus...
I know I know. Super niche. But I was writing a parser (like one does), and thought; why not make an example app for it.
The parser: github.com/sindresorhus...
The app requires macOS 26, but you can get the last macOS 15 compatible version for free on my website: sindresorhus.com/shortcutie#o...
I'm excited to share that my Shortcutie app is now available on Setapp
It provides 70+ powerful extra actions for the Shortcuts app on macOS
sindresorhus.com/shortcutie
The upside down thing was likely a macOS 26 bug. Happened in one of my apps too.
I don’t get why Anthropic hasn’t used Claude Code to rewrite their bloated Electron app as native. Should be much easier than a C compiler.
I’m not stopping. I’ll keep making apps the good way.
I just think it’s soon going to become more of a passion thing than a real business opportunity in general. Which is fine. It’s always been passion for me anyway, not the money.
It will feel more like restoring an old car than running a startup