“Checkout charges twice when the coupon is blank.”
One charge. Valid coupons still work. A test for the empty field.
Post a paid task
The bug you keep working around. The integration you haven’t finished. Hand it to a developer with their own agents and tools, and keep building.
Your price. A change to review. No hourly meter.
acme/storefront
Read access includes history and every branch. Review the exposure notice before you publish.
You set the price
$180Fixed price
Example posting · you choose the task and the price.
Start in the AI conversation you already have open. The context comes with you.
Ask your connected AI tool to draft a TerminalHire posting. Open the draft, sign in with GitHub, and review it before publishing.
Choose the repository, what to share, and a fixed price. Connect the GitHub App to that repo and save a card. Saving a card is not a charge.
A developer brings their judgment, agents and tools. Their change returns on its own branch. You review it and decide whether to accept.
Pick a task you can describe and a result you can check. These are the kinds of tasks you can hand off.
One charge. Valid coupons still work. A test for the empty field.
Repeated events create one record. Failed deliveries can be retried.
A CSV download with the right rows, dates and totals.
We check submitted work in a fresh Google Confidential Space virtual machine. Recorded results show the outcome and any checked evidence of the run environment.
A separate branch.
An exact revision to check.
Network disconnects before tests run.
The result stays for review.
Process illustration · each submission has its own result.
The patch becomes a commit on a separate branch. That commit is queued for a run.
A machine boots for this run, with a venue workload image checked through Google’s attestation.
Dependencies install through an allowed list of hosts. The measured tests run without external network access.
The result records the commit, test command, outcome and available venue evidence. The VM is torn down.
Our intake checks Google’s signature, the approved venue image digest, the hardware claims, Secure Boot and disabled debugging before recording Confidential Space evidence. This identifies the run environment; Google does not certify the patch’s correctness. Read each run’s evidence: older runs and local checks can use a different environment. Repository access for the developer is still governed by the posting.
Read the diff, check the result, and ask for changes if it needs more work. Accepting pays the developer. You choose when to merge.
acme/storefront
A blank coupon now follows the no-coupon path.
2 files changed
fix/blank-couponacme/storefrontFor this $180 task, accepting pays for the work. Merging is separate.
checkout.tsExample diff
const coupon = input.coupon;if (coupon !== undefined) {if (coupon?.trim()) { applyCoupon(coupon);}checkout.test.tsEmpty coupon: charge once
Valid coupon: keep the discount
Choose access for each posting. Developers get no push access. Their work comes back on a separate branch; you decide when to merge.
The developer’s change comes back through TerminalHire. You can read it and run your checks before deciding to merge.
A read-only credential for that repository, including its history and every branch. You acknowledge that exposure before publishing.
Files go directly from GitHub to the developer. We do not scan them for secrets.
A slice we propose from your tree with our App on that repo, or from the file list you paste without it. You confirm the counts before it is sent.
The confirmed file list and available contents. No repository access.
The files you list yourself, without granting repository access. You supply the list; we do not read your code to choose it.
The confirmed file list and available contents. No repository access.
Before you post
You set a fixed price for the task. For a card-funded posting, accepting the work charges your saved card. Platform credit can cover payment if you have it; a free posting has no charge. Accepting pays for the work. Merging is a separate decision.
Developers are invited by name. There are no bids to compare or interviews to schedule. Private-repository postings require your approval before a developer receives access.
Choose “Hand off a task” to sign in with GitHub and connect your tool. Claude Code, Codex, Cursor and other MCP clients can use TerminalHire.
For Claude Code, add the connector with:
claude mcp add --transport http terminalhire-founder https://terminalhire.com/api/founder/mcpThen ask it to draft a posting. You review and publish the draft through the link it returns. A draft is not visible to developers.
On the two scoped options, we check the files we assemble. Recognized keys, tokens and private keys stop delivery. Potential secrets, such as a password in a connection string or a credential-shaped assignment, travel only if you tick each one.
Whole-repository access has no scan: the files go directly from GitHub to the developer. Review the repository, its history and its branches before granting access.
We refuse changes to recognized CI and build files, git internals, and changes to existing package.json scripts or their install and pre/post hooks. A package-lock.json (v2 or v3) or yarn.lock (v1) change is accepted with the package.json change it belongs to, when every new entry comes from the npm registry with its integrity hash. Other lockfiles are refused. Unclassified manifest changes, detected network calls and obfuscation wait for your review. New dependencies and new scripts are allowed unless you turn that off.
The developer gets no push access from TerminalHire. Accepting work does not merge it.
No. It can draft and read postings. If you grant publishing access, it can also publish a draft you have reviewed, binding your saved card without charging it. It cannot accept work or move money.