Archives 2026/03

Using Web Search with Claude Code API Billing

If you’re running Claude Code against your own API key or through a proxy instead of Anthropic’s native backend, you’ve probably noticed that the built-in WebSearch tool just doesn’t return results because it relies on a server-side API that only exists at Anthropic. Without web search, the agent cant research, so we built a self-hosted replacement using MCP.

What we built

The brilliant DDGS is an open source metasearch server that aggregates results from DuckDuckGo, Bing, Google, Brave, and Yahoo. It has a built in MCP server which exposes five tools: search_text, search_news, search_images, search_videos, and search_books.

Using Claude Code for things that aren’t code – gardening

Claude Code can do a lot of things. But can it keep a plant alive?

The Plant: Act I — Fifty-Eight Days

October 22 – December 19, 2025

On October 22, 2025, the moisture sensor read 1829, the first of 5,568 check-ins over fifty-eight days. The scale runs from wet at roughly 1100 to dry at 3400, putting that reading in the middle.

The sensor is in the pot of a Tradescantia zebrina. There’s also a 5l jug of water with a pump, a grow light and a camera. Claude’s job is to keep the plant alive - basically, keep the moisture in range and run the grow light on schedule, writing notes after each cycle so it could pick up where it left off. At the start, there were five unknowns: plant species, target moisture range, soil type, ambient temperature, and pot size. Claude logged all five, ran a 60-minute grow light session, and began monitoring. The full session logs, sensor data, and photos are at plants.cynexia.com if you want to follow along.

Auto-switching SSH keys for work repos

I have a personal GitHub account and a corporate one, and I found it annoying to have to select the correct SSH key for work repos, so I configured git and SSH to pick the correct key for me. After initial setup, there are three config files to modify:

After the initial setup, there are three config files involved:

  1. Git URL rewrite (~/.gitconfig) — rewrites work org URLs to an SSH host alias
  2. SSH host alias (~/.ssh/config) — maps that alias to the right key (and port 443 if needed)
  3. Work-only Git identity (~/.gitconfig.work) — sets work email/name/signing key, loaded automatically for work repos

How does it work? well