# fix: canonicalize git.cafe pull request links · PR \#22593 · pingdotgg/t3code

[View on GitCafe](https://git.cafe/pingdotgg/t3code/pull/22593)

Repository: [pingdotgg/t3code](https://git.cafe/pingdotgg/t3code)

Visibility: public

State: open

Source repository: pingdotgg/t3code

Source branch: t3/gitcafe-pull-links

Target branch: main

Head commit: 2a3009c658f0e1e08dfb55f51d44b8f349bfc778

[Discussion and reviews](https://git.cafe/pingdotgg/t3code/pull/22593)

[Commits](https://git.cafe/pingdotgg/t3code/pull/22593/commits?format=markdown)

[Files changed](https://git.cafe/pingdotgg/t3code/pull/22593/diffs?format=markdown)

## Description

---

git.cafe links supplied as host/repository/number, `/pull/<n>`, or `/pulls/<n>` now store t3's existing `/pulls/<n>` format, as requested. git.cafe's canonical browser route is `/pull/<n>`; both forms are accepted by t3. the shared parser accepts both routes on production and staging, so linked prs open in t3's panel; manual linking and checkout use the same parsing and canonicalization.

verified against main `05696c636e`: real codex mcp calls linked pingdotgg/t3code #21353 all three ways, listed canonical stored urls after each, and synced its live title and checks. clicking the thread's link opened the pr panel. 238 focused existing tests passed through blacksmith, including persistence/rebuild and nearby web/mobile routing; shared, client-runtime, gitcafe, and server typechecks passed. scoped lint: 0 errors, 2 existing warnings.

after the final checkout parser change, 58 affected tests, three affected package typechecks, and scoped lint passed again. existing tests also cover repositories named `pull` and `pulls` on both git.cafe hosts. two independent source reviews approved `2a3009c658`.

the recording shows the linked real pr opening in t3, its description, and its checks. #21353's activity endpoint fails independently; its details and checks load.

![clicking linked git.cafe pr #21353 opens t3's pr panel](/api/attachments/attach_01m5e1aq0resgv0ta8bx109ztg)

built by gpt-6.1-sol in the codex harness through t3 code.

