Skills

geo-sleuth: Find Where a Photo Was Taken With Claude Code

6 minute readUpdated October 2026Explore more

TL;DR

geo-sleuth is a free, MIT-licensed skill for Claude Code that finds where a photo was taken, even when the photo has no GPS data. It uses map data, mountain skylines, satellite images and street view, then shows the files that back up its answer. On a Vancouver cherry tree photo it landed 3 meters from the real camera spot in 53 minutes.

Learn Claude Code. Earn income. Only $9.

👉 https://www.skool.com/claudecodeclub

See what geo-sleuth is and what it gives you

geo-sleuth is a free skill for Claude Code, made by Oldcircle on GitHub. You give Claude Code a photo and ask where it was taken. geo-sleuth runs about twenty small scripts that search map data, elevation data, satellite images and street view, and Claude picks the best match from the short list.

It works with other agents too: Codex, Cursor, Gemini CLI, OpenCode and GitHub Copilot read the same skill folder. As of October 15, 2026, the repo has about 2,950 stars and uses the MIT license.

Open the geo-sleuth repo and read its three cases

The geo-sleuth GitHub page showing a photo of an oven in a rice paddy next to a satellite map with the camera position
The Oldcircle/geo-sleuth page on GitHub

What geo-sleuth does for you: you get back the camera position with an error radius, the direction the camera was facing, a satellite evidence image and a confidence grade. None of the three photos in the README had GPS data.

  • Cherry street in Vancouver: a fresh agent with no hint found the spot 3 meters from the real camera position in 53 minutes. It started from 184,517 city street trees, kept the 1,095 big flowering cherries, then 97 blocks, then checked street view.
  • Rice paddy and viaduct in China: no text, plates or landmarks. It counted 17 bridge piers, used their spacing as a ruler, matched the mountain skyline, and landed within 2 meters.
  • Desert skyline in China: with the hint 'it is in China', a fresh agent landed 87 meters from the real camera position in 32 minutes.

How to install geo-sleuth: copy the repo URL below, paste it into Claude Code, and say: install this.

repo URLhttps://github.com/Oldcircle/geo-sleuth

Or install it by hand with the one-line command from the geo-sleuth README:

bashnpx skills add Oldcircle/geo-sleuth

geo-sleuth needs Python 3.10 or newer, uv, curl, and Chrome or Playwright Chromium. The first run of its image-matching models downloads about 2.4 GB, so give that run extra time and disk space. After installing, ask Claude Code to run the doctor.py check from the skill's scripts folder, and fix anything it flags.

Best practices for geo-sleuth:

  • Start with a photo that has landmarks you can name, like a skyline, a bridge or a row of street trees. geo-sleuth works best when the photo has shapes a map can confirm.
  • Tell Claude any hint you already know, like the country or the season. The desert case in the README used the hint 'it is in China'.
  • Ask Claude to name the file behind every claim. geo-sleuth is built so that each answer points to the command that ran and the file it made.
  • Treat the answer as a lead to check. The README says its two blind re-runs are regression checks on photos it had solved before, not a score on unseen photos.

Prompts to try with geo-sleuth:

promptUse the geo-sleuth skill. Find where this photo was taken, and give me the camera position with an error radius, the direction it faced, and the evidence image. Photo: [path to your photo]
promptUse the geo-sleuth skill on this photo. I think it was taken in [city or country]. List the clues you can read in the photo, which candidate places they point to, and which file proves each step.

Pick the right photo to try geo-sleuth on first

  • Your own old trip photo with the location stripped out: the safest first test, because you know the right answer.
  • A street photo with trees, houses or a skyline: geo-sleuth can check these against map data and street view.
Learn Claude Code. Earn income. Only $9.

👉 https://www.skool.com/claudecodeclub

Common questions

  • Is geo-sleuth free?

    Yes. geo-sleuth is open source under the MIT license, and installing it costs nothing. You still pay for whatever agent you run it in, like your Claude plan.

  • Does the photo need GPS data for geo-sleuth to work?

    No. None of the three photos in the geo-sleuth README had GPS data. It reads clues in the picture, like skylines, shadows, street trees and bridge piers, and checks them against map data and satellite images.

  • How accurate is geo-sleuth?

    In its README, the cherry street photo landed 3 meters from the real camera position, the rice paddy photo landed within 2 meters, and the desert photo landed 87 meters away. The author notes the blind re-runs were on photos solved before, so they are regression checks, not a score on unseen photos.

  • Which agents can run geo-sleuth?

    Claude Code, Codex, Cursor, Gemini CLI, OpenCode and GitHub Copilot. geo-sleuth is a standard agent skill, so any agent that reads a SKILL.md file and runs shell commands can use it.

Want to build with Claude Code, not just try new skills?

Get 650+ plug-and-play skills, MCPs & prompts, plus 8,000+ members - $9/mo, cancel anytime.

Join the Club