Claude Transcript¶
This page captures a Claude CLI session that walks through creating a simple Python script, submitting it as a Slurm job, monitoring the run, and gathering the output.
Environment Notes¶
- Session ran inside
/users/user1with workspace-write sandboxing and restricted network access. - Prior to running this, a Clause API license was acquired through the Claude web interface.
- An API key was generated on the Claude web site and added tothe file ~/.claude/settings.json file
- To running claude, you will need to srun into a compute node, load the "node" module, and run the "claude" command.
.
[user1@jhpce01 ~]$ srun --pty --x11 bash [user1@compute-107 ~]$ module load node [user1@compute-107 ~]$ claude ╭─── Claude Code v2.1.150 ─────────────────────────────────────────────────────╮ │ │ Tips for getting │ │ Welcome back Marcus! │ started │ │ │ Run /init to create a … │ │ ▐▛███▜▌ │ Note: You have launche… │ │ ▝▜█████▛▘ │ ─────────────────────── │ │ ▘▘ ▝▝ │ What's new │ │ │ Bug fixes and reliabil… │ │ Opus 4.7 (1M context) · API Usage Billing · │ Bug fixes and reliabil… │ │ Marcus‘s Individual Org │ Added `fallbackModel` … │ │ /users/user1 │ /release-notes for more │ ╰──────────────────────────────────────────────────────────────────────────────╯ >
Below is an example of using claude to create a simple program and submit it as a job on the JHPCE cluster.
❯ please make a directory called claude-demo
● Bash(mkdir /users/user1/claude-demo)
⎿ Done
● Created /users/user1/claude-demo.
✻ Brewed for 5s
❯ cd claude-demo
● Bash(cd /users/user1/claude-demo && pwd)
⎿ /users/user1/claude-demo
● Now in /users/user1/claude-demo.
✻ Brewed for 4s
❯ create a python script called count.py that prints the numbers from 1 to 10.
● Write(count.py)
⎿ Wrote 2 lines to count.py
1 for i in range(1, 11):
2 print(i)
● Created count.py.
✻ Baked for 6s
❯ submit count.py as a slurm job
● Bash(which sbatch && sinfo 2>/dev/null | head -20)
⎿ /usr/bin/sbatch
PARTITION AVAIL TIMELIMIT NODES STATE NODELIST
cluster-is-jhpce down 90-00:00:0 1 idle compute-100
… +18 lines (ctrl+o to expand)
● Write(count.sbatch)
⎿ Wrote 10 lines to count.sbatch
1 #!/bin/bash
2 #SBATCH --job-name=count
3 #SBATCH --partition=shared
4 #SBATCH --time=00:05:00
5 #SBATCH --mem=1G
6 #SBATCH --cpus-per-task=1
7 #SBATCH --output=count_%j.out
8 #SBATCH --error=count_%j.err
9
10 python count.py
● Bash(sbatch count.sbatch)
⎿ Submitted batch job 32459003
● Submitted job 32459003 to the shared partition. Output will land in
count_32459003.out once it runs.
✻ Crunched for 13s
❯ show me the result of the job
Read 1 file (ctrl+o to expand)
● Job output:
1
2
3
4
5
6
7
8
9
10
✻ Brewed for 5s
※ recap: You created a claude-demo directory with count.py (prints 1-10) and
submitted it as a SLURM job, which completed successfully. Next: decide what
to do with the demo, or move on to another task. (disable recaps in /config)