DEV Community

Gabriel Anhaia profile picture

Gabriel Anhaia

Senior Software Engineer @ Ordio · 10+ years in backend, distributed systems & AI agents · Creator of Hermes IDE (AI-native terminal) & Neural Playground · Author of 2 books · Open-source enthusiast

Location Berlin, Germany Joined Joined on  Personal website https://xgabriel.com github website

Work

Software Engineer and Book Author

Six Year Club
Top 7
Writing Debut
Five Year Club
Four Year Club
Three Year Club
Two Year Club
One Year Club
A SessionStart Hook That Hands Claude Code the Failing Tests Before Its First Turn

A SessionStart Hook That Hands Claude Code the Failing Tests Before Its First Turn

Comments
9 min read

Want to connect with Gabriel Anhaia?

Create an account to connect with Gabriel Anhaia. You can also sign in below to proceed if you already have an account.

Already have an account? Sign in
CI Failed on Your Agent's Branch. Pipe gh run view --log-failed Back Into Its Session

CI Failed on Your Agent's Branch. Pipe gh run view --log-failed Back Into Its Session

Comments
8 min read
A Dead Proxy Made an OpenAI Model Write Its Own TCP Client. Docker Allows Raw Packets Too

A Dead Proxy Made an OpenAI Model Write Its Own TCP Client. Docker Allows Raw Packets Too

Comments
8 min read
Make Your Coding Agent Wait 7 Days for New Packages: npm, pnpm, Yarn, Bun and uv

Make Your Coding Agent Wait 7 Days for New Packages: npm, pnpm, Yarn, Bun and uv

1
Comments
9 min read
Your Agent's Endpoint Runs 101 Queries. A Query-Count Test Fails the Branch First

Your Agent's Endpoint Runs 101 Queries. A Query-Count Test Fails the Branch First

1
Comments 1
8 min read
GPT-5.4 Followed a README 2.6x More Than the Same Line in Code. Review Docs Like Code

GPT-5.4 Followed a README 2.6x More Than the Same Line in Code. Review Docs Like Code

1
Comments
8 min read
12 Keys You'll Press Every Hour in Claude Code, Codex and Antigravity CLI

12 Keys You'll Press Every Hour in Claude Code, Codex and Antigravity CLI

1
Comments
8 min read
E5 Embeddings Expect 'query:' and 'passage:' Prefixes. Drop Them and Measure Recall in Node

E5 Embeddings Expect 'query:' and 'passage:' Prefixes. Drop Them and Measure Recall in Node

1
Comments 1
9 min read
GPT-6 Astra Passed 69.9% of Hidden Checks. It Fully Finished 26.4% of Real Edit Tasks

GPT-6 Astra Passed 69.9% of Hidden Checks. It Fully Finished 26.4% of Real Edit Tasks

1
Comments 1
8 min read
Translate Your App Into 4 Locales With 4 Parallel Agents, Then Script the Key Check

Translate Your App Into 4 Locales With 4 Parallel Agents, Then Script the Key Check

Comments
9 min read
Go's t.ArtifactDir: Keep the Files a Failing Test Wrote With go test -artifacts

Go's t.ArtifactDir: Keep the Files a Failing Test Wrote With go test -artifacts

1
Comments
8 min read
'Dubious Ownership': The 2022 Git CVE Behind the Error Your Agent's Container Hits

'Dubious Ownership': The 2022 Git CVE Behind the Error Your Agent's Container Hits

Comments
9 min read
'Almost Right' Agent Code Is Worse Than Wrong Code. It's Devs' Top AI Complaint

'Almost Right' Agent Code Is Worse Than Wrong Code. It's Devs' Top AI Complaint

Comments
7 min read
Allowlisting git for Your Agent Also Allowlists diff.external and core.fsmonitor

Allowlisting git for Your Agent Also Allowlists diff.external and core.fsmonitor

Comments
8 min read
Claude Code's 'Don't Ask Again' Saved Secrets in 1,122 Public Files. 215 Beat Both Scanners

Claude Code's 'Don't Ask Again' Saved Secrets in 1,122 Public Files. 215 Beat Both Scanners

1
Comments 1
7 min read
Claude Code Now Runs MCP Tasks in the Background. How MCP Tasks Actually Work

Claude Code Now Runs MCP Tasks in the Background. How MCP Tasks Actually Work

1
Comments
10 min read
opencode Fixed a No-Consent RCE in a 'Refactor.' Agent CLIs Need Browser-Style Updates

opencode Fixed a No-Consent RCE in a 'Refactor.' Agent CLIs Need Browser-Style Updates

2
Comments
8 min read
The Microsoft Lab That Worked on AutoGen Is Over. AutoGen Already Gets No Security Fixes

The Microsoft Lab That Worked on AutoGen Is Over. AutoGen Already Gets No Security Fixes

2
Comments
7 min read
8 zsh and bash History Settings to Set Once Agents Share Your Terminal

8 zsh and bash History Settings to Set Once Agents Share Your Terminal

2
Comments
9 min read
Your PHP API Sends Keys 10 Then 2. Your TypeScript Client Reads 2 Then 10

Your PHP API Sends Keys 10 Then 2. Your TypeScript Client Reads 2 Then 10

1
Comments
8 min read
Claude Code Told the Model 'File Unchanged' to Save Tokens. 2.1.317 Removed the Stub

Claude Code Told the Model 'File Unchanged' to Save Tokens. 2.1.317 Removed the Stub

1
Comments
8 min read
Find Dead Code With knip, Then Let a Coding Agent Delete It One Package per Worktree

Find Dead Code With knip, Then Let a Coding Agent Delete It One Package per Worktree

Comments
8 min read
RabbitMQ's Default Prefetch Is Unlimited. One Slow Worker Can Hoard the Whole Queue

RabbitMQ's Default Prefetch Is Unlimited. One Slow Worker Can Hoard the Whole Queue

Comments 1
10 min read
Agentjacking: A Fake Sentry Error Became a 'Fix' That Claude Code and Cursor Ran

Agentjacking: A Fake Sentry Error Became a 'Fix' That Claude Code and Cursor Ran

Comments
10 min read
An Agent That Clicks Your Screen Leaves No Diff. Keep Coding Agents Where Git Can See

An Agent That Clicks Your Screen Leaves No Diff. Keep Coding Agents Where Git Can See

Comments
7 min read
The 2017 S3 Outage Was One Wrong Input. AWS Fixed the Tool, Not the Engineer

The 2017 S3 Outage Was One Wrong Input. AWS Fixed the Tool, Not the Engineer

Comments
8 min read
Exhale: A Breathing Guide That Reads Your Breath While Claude Code Works

Presage SmartSpectra SDK Challenge Submission

Exhale: A Breathing Guide That Reads Your Breath While Claude Code Works

23
Comments 3
7 min read
Anthropic's Agent Memory Study: Rules on What to Save Cost Claude Much of the Gain

Anthropic's Agent Memory Study: Rules on What to Save Cost Claude Much of the Gain

Comments 1
8 min read
Import a 1M-Row CSV Through One Use Case: a Generator Adapter, No Eloquent in the Loop

Import a 1M-Row CSV Through One Use Case: a Generator Adapter, No Eloquent in the Loop

Comments
9 min read
Record Your Coding Agent's Session With asciinema, Then Replay Where It Went Wrong

Record Your Coding Agent's Session With asciinema, Then Replay Where It Went Wrong

1
Comments
9 min read
Your Agent's Command Printed Nothing for 2 Minutes. stdout Wasn't a Terminal

Your Agent's Command Printed Nothing for 2 Minutes. stdout Wasn't a Terminal

1
Comments
8 min read
9 Timeouts in Claude Code, Codex and Gemini CLI That Cut Long Test Runs Short

9 Timeouts in Claude Code, Codex and Gemini CLI That Cut Long Test Runs Short

1
Comments 1
9 min read
A File Storage Port in Go That Streams: io.Reader In, Disk and S3 Adapters Out

A File Storage Port in Go That Streams: io.Reader In, Disk and S3 Adapters Out

Comments
12 min read
Censys Found 1,465 Exposed Artex AI-Attack Consoles. A Page Title Gave Them Away

Censys Found 1,465 Exposed Artex AI-Attack Consoles. A Page Title Gave Them Away

Comments
6 min read
Uneven Branches Make a LangGraph.js Join Node Run Twice. Super-Steps Explain Why

Uneven Branches Make a LangGraph.js Join Node Run Twice. Super-Steps Explain Why

Comments
7 min read
If a Linter Can Check Your AGENTS.md Rule, the Rule Doesn't Belong in AGENTS.md

If a Linter Can Check Your AGENTS.md Rule, the Rule Doesn't Belong in AGENTS.md

Comments
11 min read
AWS's Kiro Bots Start in Trust Mode, and Crew's Default Sandbox Leaves ~/.ssh Visible

AWS's Kiro Bots Start in Trust Mode, and Crew's Default Sandbox Leaves ~/.ssh Visible

2
Comments 1
8 min read
Your Agent Changed the OpenAPI Spec. oasdiff Finds the Breaking Change Before You Land

Your Agent Changed the OpenAPI Spec. oasdiff Finds the Breaking Change Before You Land

Comments
8 min read
CREATE INDEX CONCURRENTLY Failed. The INVALID Index It Left Can Still Tax Every Write

CREATE INDEX CONCURRENTLY Failed. The INVALID Index It Left Can Still Tax Every Write

1
Comments
9 min read
A Botpress Staff Key Read Bot Configs in 16 Workspaces. The Target Was AI Credits

A Botpress Staff Key Read Bot Configs in 16 Workspaces. The Target Was AI Credits

Comments 1
6 min read
Do Parallel Claude Code Sessions Share a Prompt Cache? Not Across Worktrees

Do Parallel Claude Code Sessions Share a Prompt Cache? Not Across Worktrees

1
Comments 3
10 min read
A Cloud Agent's 'All Tests Pass' Only Covers the Services It Could Reach

A Cloud Agent's 'All Tests Pass' Only Covers the Services It Could Reach

Comments 1
9 min read
Every App Is Becoming Every Other App: Wispr Flow and Granola Just Swapped Jobs

Every App Is Becoming Every Other App: Wispr Flow and Granola Just Swapped Jobs

Comments
5 min read
Cursor's Agent Now Deploys Apps With Postgres and SSO. Its Docs List No Hosting Price

Cursor's Agent Now Deploys Apps With Postgres and SSO. Its Docs List No Hosting Price

Comments 2
7 min read
8 Type Checkers and Linters Fast Enough to Run After Every Coding-Agent Turn

8 Type Checkers and Linters Fast Enough to Run After Every Coding-Agent Turn

Comments
9 min read
No Threads, Still Races: Two awaits Can Corrupt State a Java Lock Would Have Guarded

No Threads, Still Races: Two awaits Can Corrupt State a Java Lock Would Have Guarded

Comments
9 min read
FORCE_HYPERLINK=false Turned Claude Code's Links On. Inside OSC 8 Terminal Hyperlinks

FORCE_HYPERLINK=false Turned Claude Code's Links On. Inside OSC 8 Terminal Hyperlinks

1
Comments
8 min read
Queue Work Into a Running Codex Session From Another Shell: codex queue, Step by Step

Queue Work Into a Running Codex Session From Another Shell: codex queue, Step by Step

Comments
7 min read
Design Typeahead Search Step by Step: Why the Trie Stores the Top 10 at Every Node

Design Typeahead Search Step by Step: Why the Trie Stores the Top 10 at Every Node

1
Comments 1
9 min read
Mistral's New Agents SDK Runs Tool Calls Without Asking by Default. Set a Policy First

Mistral's New Agents SDK Runs Tool Calls Without Asking by Default. Set a Policy First

Comments
7 min read
The Only Coding-Agent Benchmark That Matters Is Your Own Revert Rate

The Only Coding-Agent Benchmark That Matters Is Your Own Revert Rate

1
Comments 1
9 min read
tmux vs Zellij vs Hermes IDE: Five CLI Agents, and Which One Is Waiting on You

tmux vs Zellij vs Hermes IDE: Five CLI Agents, and Which One Is Waiting on You

Comments
10 min read
Claude Code Put Account Emails in User-Agent Headers. Stable 2.1.311 Lacks the Guard

Claude Code Put Account Emails in User-Agent Headers. Stable 2.1.311 Lacks the Guard

Comments
8 min read
Go 1.27 Adds crypto/mldsa. A Post-Quantum Signature Is 3,309 Bytes; Ed25519's Is 64

Go 1.27 Adds crypto/mldsa. A Post-Quantum Signature Is 3,309 Bytes; Ed25519's Is 64

1
Comments 1
8 min read
Moved Your Repo Folder? Every Agent Worktree Broke. git worktree repair Fixes It

Moved Your Repo Folder? Every Agent Worktree Broke. git worktree repair Fixes It

Comments
9 min read
-U0, -U3 or --function-context: Count the Tokens Your Review Agent Reads per Diff

-U0, -U3 or --function-context: Count the Tokens Your Review Agent Reads per Diff

Comments
9 min read
Two Agents Both Added a Package: 7 Lockfiles and the Command That Fixes Each Conflict

Two Agents Both Added a Package: 7 Lockfiles and the Command That Fixes Each Conflict

1
Comments
8 min read
Your Signup Emails Land in Spam. Set Up SPF, DKIM and DMARC, Then Prove It With dig

Your Signup Emails Land in Spam. Set Up SPF, DKIM and DMARC, Then Prove It With dig

4
Comments
8 min read
Gemini Omni 1.2 Flash Is 30% Cheaper. Your 1.1 Calls Move to It on December 3 Anyway

Gemini Omni 1.2 Flash Is 30% Cheaper. Your 1.1 Calls Move to It on December 3 Anyway

Comments
7 min read
Laravel 13 Puts #[Table] on Your Models. PHP Won't Load That Class Until newInstance()

Laravel 13 Puts #[Table] on Your Models. PHP Won't Load That Class Until newInstance()

1
Comments
7 min read
loading...