Mail send grants, Cursor agent, and interactive tess new - #11
Merged
Conversation
send/reply/delete gate on sys.stdin.isatty(). That's right for the common case, but it has a hole: when the human isn't at a terminal that can reach Mail, "run it yourself" is advice they can't take. On macOS the fallback terminal usually lacks Full Disk Access, so every tess mail command there dies before it can confirm anything. Adds an explicit, human-opened send window: tess mail grant [--reply|--send|--delete] [--minutes N] [--uses N] tess mail grants what's open tess mail revoke close it now While open, non-interactive callers may perform that scope only, that many times, for that long. Defaults are small (30 min, 3 uses, reply) and capped at 4h/25. Each covered action is logged to ~/.config/tess/mail-sent.log and the window deletes itself once spent or expired. grant/grants/revoke are dispatched before the Mail store is opened, so they need no Full Disk Access — which is the whole point. With no window open, behaviour is unchanged: the exact command is handed back.
Mail's reply defaults to the sender alone. tess never surfaced that, so replying to a thread with three people cc'd silently answered one of them and the rest never saw it — you find out when the reply comes back. - reply <id> --all keeps every original recipient (AppleScript reply to all) - the preview now lists the others either way: 'also to:' under --all, a yellow 'DROPPED:' warning without it. To/Cc are read off the message file since the envelope index doesn't carry them.
Cursor joins claude/kimi in spawn, resume, and team with UI-matching model flags; tess new shows an fzf repo menu and requires --fleet for multi-repo fan-out instead of silently using TESS_REPOS. Co-authored-by: Cursor <cursoragent@cursor.com>
There was a problem hiding this comment.
Your trial has ended. Reactivate Greptile to resume code reviews.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
tess mail sendconfirmation windows andreply --allwith clearer recipient visibility for plain replies.tess cursorspawns Cursor Agent with UI-matching flags (--model,--context,--effort→reasoning=,--fast), prompt-at-launch,--trust, andtess resumesupport for Cursor sessions.tess newshows an interactive fzf repo picker outside a repo; fleet fan-out and auto-clone only happen with explicit--fleet/--all(from user config), not by default. Shows which config file setsTESS_WORKTREE_ROOT.Test plan
bash tests/smoke.sh— 105 passedtess cursor . "…" --model composer-2.5 --fastspawn + reply verifiedtess cursor … --model gpt-5.6-sol --context 1m --effort max --no-fastdry-run composesreasoning=maxtess resume --plainlists Cursor sessionstess new --fleetstill fans out configured TESS_REPOS in testsMade with Cursor