1
00:00:00,000 --> 00:00:01,035
Welcome to the show.

2
00:00:01,035 --> 00:00:07,886
James, April 14, 2026: Anthropic drops
Claude Code Routines as a research

3
00:00:07,886 --> 00:00:12,596
preview, and the bit that made me sit up
was dead simple -- the job runs

4
00:00:12,596 --> 00:00:14,860
on Anthropic-managed cloud infrastructure.

5
00:00:14,860 --> 00:00:16,134
Not on your laptop.

6
00:00:16,134 --> 00:00:19,475
Not on some crusty local daemon you
forgot was running.

7
00:00:19,475 --> 00:00:22,431
Your machine can go to sleep,
you can shut the lid,

8
00:00:22,431 --> 00:00:25,800
wander off, and the work keeps
going.April 14,

9
00:00:25,800 --> 00:00:30,669
2026 is gonna stick for me because that
is a REAL line in the sand.

10
00:00:30,669 --> 00:00:34,653
You're saying the old setup literally
died if the laptop slept?

11
00:00:34,653 --> 00:00:38,917
Like, Wi-Fi hiccup at 2 a.

12
00:00:34,653 --> 00:00:38,917
m., game over?

13
00:00:34,653 --> 00:00:38,917
Exactly.

14
00:00:38,917 --> 00:00:40,317
That was the brittle bit.

15
00:00:40,317 --> 00:00:43,516
If your machine slept, lost Wi-Fi,

16
00:00:43,516 --> 00:00:48,221
got restarted, battery carked it -- the
automation died with it.

17
00:00:48,221 --> 00:00:52,668
Plenty of us have done the grim little
ritual of leaving a laptop open

18
00:00:52,668 --> 00:00:56,761
overnight for a dependency audit or a
long repo task,

19
00:00:56,761 --> 00:00:59,399
like it's a campfire you can't let go out.

20
00:00:59,399 --> 00:01:04,991
Routines decouple execution from hardware
for the first time,

21
00:01:04,991 --> 00:01:10,062
and that changes the whole feel of
it.The campfire image is

22
00:01:10,062 --> 00:01:11,594
painfully accurate.

23
00:01:11,594 --> 00:01:14,538
I've absolutely had that move where the
screen is dimmed,

24
00:01:14,538 --> 00:01:16,536
charger plugged in, and you're like,

25
00:01:16,536 --> 00:01:21,840
"Nobody touch THIS machine." But okay --
if it lives in Anthropic's cloud

26
00:01:21,840 --> 00:01:23,557
now, the upside is obvious.

27
00:01:23,557 --> 00:01:28,268
The weird part is also obvious: it's
running somewhere you can't

28
00:01:23,557 --> 00:01:28,268
see.

29
00:01:28,268 --> 00:01:30,072
Yeah, that's the split emotion.

30
00:01:30,072 --> 00:01:33,909
Relief and a tiny bit of the
heebie-jeebies.

31
00:01:33,909 --> 00:01:41,930
The best mental model I've found is:
don't think "smarter script." Think

32
00:01:41,930 --> 00:01:47,082
"saved Claude Code job with a home in the
cloud." That's different.

33
00:01:47,082 --> 00:01:51,226
A script feels like a thing you launch
from your desk.

34
00:01:51,226 --> 00:01:54,498
This feels more like you've built a
worker,

35
00:01:54,498 --> 00:02:03,549
parked it somewhere else,
and now you're sending it jobs.

36
00:01:54,498 --> 00:02:03,549
Wait -- "saved Claude Code job with a
home in the cloud"

37
00:02:03,549 --> 00:02:04,904
is the phrase I'd underline.

38
00:02:04,904 --> 00:02:08,729
Because that means the workflow isn't me
babysitting a terminal anymore.

39
00:02:08,729 --> 00:02:11,916
It's me defining a repeatable session
that can wake up later,

40
00:02:11,916 --> 00:02:13,480
right?

41
00:02:11,916 --> 00:02:13,480
That's it.

42
00:02:13,480 --> 00:02:16,113
And once you think of it that way,

43
00:02:16,113 --> 00:02:20,424
workflows that used to feel a bit too
flaky start sounding realistic.

44
00:02:20,424 --> 00:02:23,295
Not because the model got magic powers
overnight,

45
00:02:23,295 --> 00:02:27,784
but because the execution environment
stopped being your personal laptop

46
00:02:27,784 --> 00:02:29,912
balanced on the edge of sleep mode.

47
00:02:29,912 --> 00:02:31,902
It's a small shift on paper.

48
00:02:31,902 --> 00:02:36,513
In practice, mate, it's the difference
between "maybe I'll try this once"

49
00:02:36,513 --> 00:02:42,516
and "yeah, this can be part of how I
work."I like the convenience.

50
00:02:42,516 --> 00:02:46,028
I do NOT automatically trust the
convenience.

51
00:02:46,028 --> 00:02:48,186
Because when something moves off your
machine,

52
00:02:48,186 --> 00:02:51,059
you also lose a kind of gut-level
visibility.

53
00:02:51,059 --> 00:02:53,606
You can't glance at a terminal window and
go,

54
00:02:53,606 --> 00:02:55,366
okay, I see what's happening.

55
00:02:55,366 --> 00:02:58,640
So the promise here is freedom from
hardware fragility.

56
00:02:58,640 --> 00:03:00,955
The price is, at least a little,

57
00:03:00,955 --> 00:03:05,236
abstraction.And that's the
tension for the whole thing,

58
00:03:05,236 --> 00:03:05,712
honestly.

59
00:03:05,712 --> 00:03:09,627
For anyone who's ever nursed an overnight
task through dodgy Wi-Fi,

60
00:03:09,627 --> 00:03:10,906
this is a blessing.

61
00:03:10,906 --> 00:03:14,503
For anyone who's careful about where code
runs and how,

62
00:03:14,503 --> 00:03:18,413
it's also a signal: stop treating this
like a cute local hack.

63
00:03:18,413 --> 00:03:22,393
It's becoming something a bit more
serious.Okay,

64
00:03:22,393 --> 00:03:24,458
so if the worker lives in the cloud,

65
00:03:24,458 --> 00:03:27,608
the next question is: how do you wake it
up?

66
00:03:27,608 --> 00:03:31,064
There are three paths, and they get
progressively more interesting.

67
00:03:31,064 --> 00:03:34,412
The simplest is scheduled triggers --
hourly,

68
00:03:34,412 --> 00:03:35,371
nightly, weekly.

69
00:03:35,371 --> 00:03:41,318
You can create those at claude.

70
00:03:35,371 --> 00:03:41,318
ai/code/routines or just use the /schedule

71
00:03:41,318 --> 00:03:44,040
command in the CLI.

72
00:03:41,318 --> 00:03:44,040
Hourly, nightly,

73
00:03:44,040 --> 00:03:48,030
weekly -- that's already enough for heaps
of boring chores.

74
00:03:48,030 --> 00:03:50,426
Like, nightly is the magic one for me.

75
00:03:50,426 --> 00:03:54,020
That's the "check the house while I'm
asleep" schedule.

76
00:03:54,020 --> 00:03:57,217
And I like that it's both in the site and
the CLI,

77
00:03:57,217 --> 00:04:00,776
because half the battle with tooling is
whether you'll actually use it

78
00:04:00,776 --> 00:04:03,600
where you already live.

79
00:04:00,776 --> 00:04:03,600
Right.

80
00:04:03,600 --> 00:04:06,516
Then the programmable one is the API
trigger.

81
00:04:06,516 --> 00:04:11,278
Every routine gets its own HTTP endpoint
and its own dedicated bearer

82
00:04:11,278 --> 00:04:11,703
token.

83
00:04:11,703 --> 00:04:14,579
You send a POST, it spins up a session,

84
00:04:14,579 --> 00:04:20,269
runs the prompt, and gives you back a
session URL that you can open

85
00:04:14,579 --> 00:04:20,269
live.[questioning

86
00:04:20,269 --> 00:04:22,553
tone] That session URL is the bit I'd
circle.

87
00:04:22,553 --> 00:04:27,626
So it's not just "fire and forget." You
can actually jump into the run

88
00:04:27,626 --> 00:04:32,375
and inspect it?

89
00:04:27,626 --> 00:04:32,375
Yeah -- that's what makes it feel
operational instead of

90
00:04:32,375 --> 00:04:33,067
opaque.

91
00:04:33,067 --> 00:04:37,732
And there's another nice detail: the POST
body accepts a text field that

92
00:04:37,732 --> 00:04:40,178
gets appended as a one-shot user turn.

93
00:04:40,178 --> 00:04:41,898
That's huge.

94
00:04:41,898 --> 00:04:45,532
Because now the routine isn't locked as
some frozen static job.

95
00:04:45,532 --> 00:04:50,473
It's a reusable agent template with
just-in-time context.[textually

96
00:04:45,532 --> 00:04:50,473
amused]

97
00:04:50,473 --> 00:04:54,228
"One-shot user turn" sounds very AI-lab,

98
00:04:54,228 --> 00:04:58,381
but the practical version is dead clear:
same worker,

99
00:04:58,381 --> 00:05:00,859
new note slipped under the door.

100
00:05:00,859 --> 00:05:10,423
Like,
"run the release checks for version 2.

101
00:05:00,859 --> 00:05:10,423
4.1" or "look at THIS incident."

102
00:05:10,423 --> 00:05:15,640
That's much more flexible than a dumb
cron script.

103
00:05:10,423 --> 00:05:15,640
Exactly.

104
00:05:15,640 --> 00:05:19,671
Same routine,
fresh context per invocation.

105
00:05:19,671 --> 00:05:23,920
Then the third trigger is the one ops
people are gonna care about most:

106
00:05:23,920 --> 00:05:24,818
GitHub events.

107
00:05:24,818 --> 00:05:29,638
Pull requests, pushes,
releases -- those can wake a routine.

108
00:05:29,638 --> 00:05:34,924
But there is one setup gotcha that
matters a LOT: the Claude GitHub App

109
00:05:34,924 --> 00:05:38,423
has to be installed.
And this is where people will trip,

110
00:05:38,423 --> 00:05:38,743
yeah?

111
00:05:38,743 --> 00:05:41,458
Because /web-setup sounds like,

112
00:05:41,458 --> 00:05:47,319
"sweet, GitHub is wired up." But that's
not enough for webhooks.

113
00:05:41,458 --> 00:05:47,319
Yep.

114
00:05:47,319 --> 00:05:50,831
/web-setup only grants repo cloning
access.

115
00:05:50,831 --> 00:05:52,983
It does NOT grant webhook power.

116
00:05:52,983 --> 00:05:57,052
If you want PRs or pushes or releases to
trigger the routine,

117
00:05:57,052 --> 00:06:01,773
the GitHub App is the thing that gives
you that event plumbing.

118
00:05:57,052 --> 00:06:01,773
That distinction

119
00:06:01,773 --> 00:06:06,736
-- cloning versus webhook power -- is the
sort of tiny setup detail that

120
00:06:06,736 --> 00:06:07,710
eats an afternoon.

121
00:06:07,710 --> 00:06:11,709
You think the ute's got fuel,
then realize the hose isn't connected.

122
00:06:11,709 --> 00:06:15,065
So, simple schedule if you want regular
chores,

123
00:06:15,065 --> 00:06:18,021
API if you want programmable context,

124
00:06:18,021 --> 00:06:21,771
GitHub events if you want it wired into
the repo's actual heartbeat.
