Claude Code in Optum Financial
You've just received access to Claude Code. It's time to make it yours: tune how it works, connect GitHub and Jira, and set it up properly in one of your repos.
Out of the box, Claude Code asks before almost everything. A few minutes here decide whether it feels like a colleague or a pop-up machine.
Open the Code tab, choose Local, and pick your repository as the project folder. Next to the send button are the two controls you'll use most: the model dropdown and the mode selector.
Set the mode selector to Plan: Claude explores and proposes, and changes nothing until you approve. Then switch to Accept edits or Manual to carry it out. Thirty seconds reading a plan saves twenty minutes reviewing a diff that went the wrong way.
When Claude changes files, click the +12 −1 counter to open the diff. Click any line to leave a comment,
then Cmd+Enter (Mac) or Ctrl+Enter (Windows) sends them all and Claude revises.
Review code, top right, gets a second pass for bugs before you commit.
Press Shift+Tab to cycle modes until you see plan mode: it reads and proposes, and changes
nothing until you approve the plan. Thirty seconds reading a plan saves twenty minutes reviewing a diff that went the
wrong way. To start every session there, add "defaultMode": "plan" to your settings.
Permission rules have no settings screen, so let Claude write them. Paste this into a session:
Allow the read-only commands you'd never refuse, and deny what it should never touch. Paste this into a session, or edit ~/.claude/settings.json yourself:
Add to my personal Claude Code settings: allow git status, git diff
and git log without asking, and never read .env files or anything
under secrets/.~/.claude/settings.json{
"permissions": {
"allow": ["Bash(git status)", "Bash(git diff *)", "Bash(git log *)"],
"deny": ["Read(./.env)", "Read(./.env.*)", "Read(./secrets/**)"]
}
}
Deny always beats allow. The same rules apply in the desktop app and the terminal.
Grow the list as you go: when it asks about something harmless for the third time, allow it.
Settings → Claude Code holds the app's own preferences, and the ring next to the model picker shows your usage.
/model — pick the model and save it as your default./terminal-setup — so Shift+Enter gives you a new line instead of sending./doctor — checks your setup when something looks off.
The best way to connect Claude Code to GitHub is GitHub's official connector, its MCP server
(+ → Connectors → GitHub), but it isn't available at Optum yet.
Until it is, use the GitHub CLI, gh: with it, Claude can open pull requests, read issues and watch CI
for you, and it's what powers the app's pull request and CI features.
You need gh installed on your machine first, from the company's software catalogue.
Then open the terminal pane (Views menu, or Ctrl+`) and sign in once:
Then sign in once:
gh auth login
Now, from a feature branch:
Open a draft PR for this branch. Summarise what changed and why,
and list anything a reviewer should look at closely.Once the PR is open, a CI status bar appears in the session and the app notifies you when checks finish. Turn on Auto-fix there and Claude reads failing checks and pushes fixes on its own.
CI is failing on this PR. Find out why and tell me the fix.
Don't push anything.The best way to connect Claude Code to Jira is Atlassian's official connector, its MCP server (+ → Connectors → Atlassian Rovo), but it isn't available at Optum yet. Until it is, use a small skill we publish with this guide: one file that teaches Claude to use Jira's REST API with your token, and so with your permissions — nothing more.
Go to your Atlassian account → Security → API tokens and create one.
Start a new session and, before you send anything, look at the controls in the prompt area: one of them is a dropdown that says Local. (It only appears there, at the start of a session; you won't find it in a session that's already running.) Hover Local, click the gear icon next to it, and add these three. They're stored encrypted on your machine:
Export these three in your shell profile:
JIRA_URL — https://optumfinancial.atlassian.netJIRA_EMAIL — the email you sign in to Jira withJIRA_API_TOKEN — the token you just createdOnce they're saved, start a fresh session so Claude picks them up. Never paste the token into a prompt.
Paste this into a session. Claude downloads the skill into your personal skills folder and tells you what it does — or read it first:
Download https://claudecodeguide.theagilemonkeys.com/skills/jira/SKILL.md into my
personal skills folder at ~/.claude/skills/jira/SKILL.md, then tell me
what it does.Read PROJ-123. Summarise the acceptance criteria, find the code it
touches, and give me a plan. Don't write any code yet.Everything annoying about a first session — it guessed the wrong test command, invented a folder structure, used a pattern your team abandoned years ago — has the same cause: no context. Fix it once, in the repo, for everyone.
CLAUDE.md
In a session on the repo, type /init. Claude reads the code and drafts a CLAUDE.md,
which you review in the diff like any other change. Then fix it: it gets the commands right and the judgement
calls wrong. Fifteen lines is enough:
# <Project name>
## What this is
<Two sentences. What it does, who uses it.>
## Commands
- Test: <...>
- Lint: <...>
- Run locally: <...>
## Conventions
- <The pattern we actually follow, not the one in the old docs>
- <What never to touch without asking>
## Watch out
- <The thing that trips up everyone new to this repo>
Create .claude/settings.json allowing our test, lint and build commands
without asking and denying reads of .env and secrets/. Then commit it
together with CLAUDE.md.your-repo/
├── CLAUDE.md what Claude needs to know about this repo
└── .claude/
├── settings.json team permissions — committed
└── settings.local.json yours only — stays out of git
Explain what this service does and trace the path a request takes
through it. Don't change anything.You already know the answer — that's the point. Wherever it's wrong, add the missing line to CLAUDE.md. The next person on your team gets a better first session than you did.
Pick one and add it to your repo. Each turns something you'd otherwise repeat in every prompt into part of the setup — and Claude can write all of them for you.
Already have an AGENTS.md for other coding tools? Claude Code reads it when the repo has no
CLAUDE.md. If you have both, start CLAUDE.md with @AGENTS.md so one file stays
the source of truth.
Reusable instructions Claude loads when they're relevant, or when you call them by name — the Jira skill from step 3 is one.
Type / in the prompt box (or + → Slash commands) to see what you have, and Customize in the sidebar to manage them.
Type / to see what you have.
Create a project skill called review-diff that summarises my
uncommitted changes in three bullets and lists risks: missing tests,
error handling, hardcoded values, anything against CLAUDE.md.Specialists with their own instructions and context, saved in .claude/agents/. A reviewer is a good first one:
Create a subagent called reviewer that checks a diff against the
conventions in CLAUDE.md and reports problems without editing.CLAUDE.md is guidance; hooks are guaranteed. They run a command on every matching action:
Add a hook to .claude/settings.json that runs our formatter on every
file you edit.
Bundles of skills, subagents, hooks and connectors that another team already built.
Click + → Plugins → Add plugin to browse, and choose whether it's for you or the whole project.
Run /plugin to browse and install.
More in the skills,
hooks and
CLAUDE.md docs.
Claude Code now knows your permissions, your GitHub, your tickets and your repo, and plans before it acts. That is genuinely most of the value — and it is roughly where most people stop.