(M*djWBz)BY+)(b?MCN>&-xEMhYj
zh08tl(X^O5oW6j_W#ZLmOJw)VTdePOMWqI<7kWthqa>_7L@-_3^c2qfXg!X8sZ1Vd
z$SDac^nmJyot|R+U|+j$Ic%rGjD36<0*A5;d0Ynut84LHg1{V15e^2NAu16(?E~$w
z%VUNV&+k|j6{|E{wYmdOH&mIv`x>ox3le{RC9k>viarLDARJUzI1(v**E(Y|uImJc
zd}@r998@q5lbB4n#;EDI#Z>DQG$M;R_U_>{k>U!I646$KZ0O){+1TVjj`QTLgL^Qe
zDLry=QS;CYKF?PC_cJNe0=51X0jso@evg)ZF_s|>r$^qhNKG*iJ(mRkP__h4&Up&)
z%|Zv?u@U!`X(TJ_;TDuVH5pP^S{*TSI$vxuKesDNH+drRnZ!a);;E?NLy{88`h)dA
z^4~5(QQ06P46%!<^)MNb5Eq|8teHS8Pw!ki%*^(fTlkGrTaV~rlj-#KOitrbH2gsJ
zHItu8{@A8IamS;g#AddO-41^EG#^*1n(jMjoG-x>#3+bjwG-^nYO8bywVP|;jS$-I|v7z5w{WxQL}W!yuJN*jNgL|m;hkoNa};&sPfAm_1#_q&jMfs
zv{}LLqY4|~7p*N{d7Y299t@rP_P41UA9hhE-}
zmda_)c#mER<({%MqadX2ZvOCU@6i|awdW4XUM11-hdNVBVKO^b7?p@~3qq={HCxEP
z|3kHkiuPL-hY*>3Qk}AaXw|%$wA1W<4KPE&JMUI8AkQ}ol44ik0>V&&VV3z=Z$fK
z!g$*kz!cf2#UyHHcs5KjtQdqEvoJr$mHK2{M#b6me6E3T$uVuUBe?dFFWIwF+;W$$
z-G{!ceY0k10HkcB+3Vj^Q(|}2jdh)8uD!cIblg$!C57#|L2|TZ*3uJoS~pukLxnc7
zNtP_P;o}8KYL*YFhx`~i+liy8#PhLnPVW0cbo!r1xu;9}?&S`%K;lm72_fAh5jL3;6%Bo(i9FaGkN~S)b8EcMW4GV<~0546KChHvudW
z+ZW}UZj_UwXdE-Zsal^OJ&W2(s%#z-xjp|WRZm3SPUO9@`Ue*dAfMq!lF_Y}aL5z@
zW`(4vYCEIA>$CxMDeBXQf=5oa5MF4acLx2QVcpLjyZtNlLXevcz#z-05M?|)ETg?H
z3yt`Vj8(;i45nkMAUo99$h6@#%w&biyt~|tkx*pQ0a!sB{PleLu#o;~#e79*++Jzz
zL^S~rD3c&eHfc>Vh9TejtWZHMMh{+_Yggx#`|k8*UI*grBrPVFG-U_+!RVY$Ey&8R^rf>UjIes
zzkOxizFN%gwM=WId*LdDeR&~oy(eEuQC{pXEK$jnd72{nZgY7X&_>OWQ*G44LuwUK
zwB8z6N5!-V!-_r+9C9^c$HELt64AbJC`$0dwaYoRuA4beuyTbg@q2-h|Gcs&)XB;l
ze!X)~F~y?r9N~WAuK(d`n2W;gm^bgB*~FTab{Xckc|2yn+v>j7;k0$RdoHP@(zp`s
zlw(|3%%hP^##_7UD^wYp~-M=y)IrOZ%B%*8c1tI%&(s)7y}(Rv7mA3M-M+huP`MNuuQaFxvt2t&HZZdQjS&dVU0Wl6?hX
zh@Rplk4&EjXP-Wt&(*>>y`5G(o$%Ez(V8JqARNxENWNC^Cnj!N?z4nYh*!+Ws4KvG
z@rOr7mA*TsxKf$N;>Rrcfo6ARyY0`)gqsZezi2>*4nBT@vZ`&^0@q)hP-J))XV;q5Od=a>Dj(_RKXFfiAd`rvB3=odM@Xq99E!>xk8y5FEADD;68o*64U*=KwNR
z1AHDubtQQjG!i6*=G%c3hcX*2@zYmWH!0JmmWIfUarA0mZxjmya7!hpXPk_lygu8!
zyWzV7ot8Us-J)!&Y-QRR>l9lh3T89cL(@!ks7-U4
z1=>@qE`mXpX4DmJy%ZS>-+hq8>$lh;sc9DK?|d11j2I&Z9l3UVWs>fiPn0OF6n>%;
z9y)9#aBcP?w?9>!9zCeD`{d0ilogU0q^_LJb2N^N1ZU4c@<<7yPZcVbu43?|*t`UM
zWL&R~3uYGDV{0^yOmfU$Iiw;R`QRKPCsh!
zd{FyFYfHSYRat2>HOcGa|`Bru3_wHoVflpI^@WUaW|oM`w?~#dJZ>D+Er=#qfR8DnQ)^3w}=(%g*I*NA+gO
zW|(h46M9LC=CLe+o2^ZM>3n0GBh4xqZ0zIZ3+q|q>MXc~R4ab!Ds0n7%W+lml7+LaW9G&c
z%}_PW(0=okx2O482-RDw5+k+3aEWW2Ko%of0s8{65~F!`jqlGs0L?(k6S_~6^Cw~R
zg%_pg32VqpvPAovqn#shLAWh#wfBiN0RmzmmDlcFO}rbMJg?!`yS91~xxP}{kk!r#
zHmz}7H)NxrA9`qO^IR^1i4&<)QNQ&Hh?R;1k!t#fZG8ZHY`=I1RNg1zZ{gK$*GKzYa&Ls?)^bqka{=>@Y=tm
zB7n544o11Z205b4O`
z3JC@%_+GV#;m5sG{AfMg%}0T5{GW5LtPGw>>nsayZyQFqlTzaIqsFiI~POI2KhPr$$(dfj-eFFVO075*iWUg6_$?S&;@p^h5XH=^6LV0m_8
zMrSv&3X-Z*jaEv@-F*8an!xAC<>3N3O>@L+fk=`=ZIN*Rmr*7rrGRkx!x572{%%a&
z^#?4gcm5GmZ9UVu>*-g;&6h)n0?&FIF)6V-da*zp6Z}
zw*ixeS%|HJe|Mvf9`Ja88ZZT$}9`D`1K+wlz!g_JL{sQ(o_*9U|!4Q314|6F1s82uo+Z6qXIv&d$l
zbvW;*^^m0Ia~RVME|k_)^iy%WwI=nIT2EBO#%|`&C5%EUDMMLqPbcM{2~0Y$YJxTM
zN^jx>d6VA|%tFLY>)-wP*o`r|dTS`m@kU_NO?eJfLx+zrFbx7Oof^s0XHpB-m!1K$
z>CyvpiivA-R*J7EO=vXaFvdNXTDla-GlVm&aXYMhY{W|<;@7z3ml}Pt4OQ}6<|KYv
zec2ZY0ZZ6{J9X~u7hsq#YusYrh8ZyB^-7lit|?@X4&@}yyi>G;z{ZQ$`1
z4-AhKin?eGI1Q2S*KMT=D?V-Hg%Q`2#_xxo2&AdcXX87xgEvazH&M)Z7-Zw_2=M-<
zr^CDy-d$|>^UUO-b+c`CB2br>w2?&bng5*NcW4`4W`ZLkd4*sM!|5#`7ll_wfZ<{_
zVi3{`Se(z;kb6-XY*TJlmWxr5e0rCWtWLBvG!MAP9n{LeL7mlCmYRT@T~R;W_px4RD)CXPwXU`P~$SV
zsypV=X2!B(jbPe3U-;q5ZxKDwt}3k)>N%O4oahjdIWoK7=TwISUAxKOXS!3vLK1k2
zqLBRCFkcl}zCD}6g#w5<6u2Hu?MTBOK?6Bu#Et#;A900y7Y6tgJ0Ul0$7p-(XW-jWSS0R?_Hul+JF3
zDomF^8(e<1aY97s>q3yFaU~`^y>{B=_Qpdya?95VtgNM4SaQJ}oZ
za@i)gH+Vq)SeWWkoyy<6wo)WZxp9f|xPLIz`e|I&YvUWl^pmQeC}EOW=$Qk{w`zr~
zRwP!faY7QUzWUjpfRtX?mMI%TOnZaBIK8oBHtzag#hP2&GRSt~IkW>CxPf`4j|YSm
z(nw!U34I2ra|F8Z$elQLYIQS@bcD_1IUkHRQ80_oO$!97lpf$$U(NY4F44ruE8sKM
z?){0)K|HtVxN3_g(_Pvr;uJ-x+S;$43FHV(<<(^iNqm#Jt3f2D!xjWZzK9Jki&g?Iw2u&-Bi)
zM#CD#j_jz)2xZTb&bYEL=89cCO#<`~sMtLm1k(~3kH5BVZ*w(CNZ-d${xK}do`r}f!uOtR@S={${Li8wQ0AxEq^+ZPu0y%VCK@d+l+9eQq2*Sq^M6J2n|5ZFezJ
zCljf5XW`KWN}>1LJauouRSY;`%RzN@PNb2IyxUfc!p_My$jUrcMGQ(mPSZySbTpJe
z!l^gLC5=g~wFAamg1T@Q1@zRFby*=N+SS2T$L6DvLe0`VsO1cW5n||)GK|zd
zJwr3_ym~}>=u#!$%&fC9S7f+)ER6Gu7q^?GLg}c$h^sA3uJzM*mi0loL@SHGyd+`K
z1=p8%r5QM;^D8%aF?3Ec?e9$D1#u5QYx+wWJtmKG2R6>i#|Bzzj_-6cYDbLG8x{p+
z9jjK2mB*OYN2am|2Z!DD+UKOM`8+d9K!F0SJPlpbD|gS+K@saGKCPQvG@)+F@+Rk=
ze`thc*$C^E?)obFyoM!|>sKhVhu@d%JsLR5%#z!av|meWN@;q`hmdyTj<|X4Zn(zC
zT(P5=xb3zU=ha8_Cr@pyoFYuW*f899XLJVHu*c&uVj}*5$>=X?mT(XHG6T{T+<ou7zY7ujDG*BB2x%2g>Z^O2nY6(1+JK_gF}z6Fcv-0r`s!8I9W
zYC&z+X_`a+QN7(8{J2FU#UyM~n-*4TJmhV7Q4k3BQyer~AQ_-La1M)VWl%$ld-i4e
z62^AzeFG7w$YVU}&+7&)@^gw-k;X%I!=_?$$Q%K2GzdJp?r>XO(PD$CB1i~lKz($}
z&`diBQrMIarMM8i%(zq?kk5f*Ms!$d4LXJ&D#?j~uTqq%eE&T=7yJ|~*e2w=(M-ck
z3P0N1gV?;+6p24bk;C17Y#50+ejMjh!f@#RV;J{1Z4HJP$?lTgBis(Bcq(=IO@Caa
z1ZRGaZRRwq)rWZ?SPlkQ%
z(UIWC^02GDKrB2x*fSf&u=>_EUKVUXjqmcGU$|bM%Ksd)o!l=SuGj--|M$k#J+pq}
z<^L_fvys0JEKc~pYkk*Pc2+d+`)A?p0e%hkn9s=%Jiz*&LpCl=TE&iS1t}Q?_-oX+
zqul*PG#8dq{$=Sl&OAQWe$QT}wk^heUZ_@&uZx3~!w^*B&
z?Huk;pTYma)(W`w!*$>coX1ZV`k%jcBw2evWN>Z0&OgI%o2!k_mLn8aYQiV{&y@dd
z1RZPWDfL6>;KCETaGIl%Fnxb
zOT52D2U6h|5BZV)I}oS@dkDo^=Q`Wf1t*)l4~IhEC-&AV!MhF%bNS}ioj{N0q|s-b
zxVyvbOt}B=V@MZkpUw~5$2-|I3Vr@hzbsnsXWn&Pv46q%d^uJ(f1~;70-a&8%eGa4
z`*}j8ykj8oZ`u2gl6Cl
z&OAc6K?;SKVP6NqMdXQezSp!V@`5h~KD^Y^ZlK?d7DvVSr3-29H`FXr^O=7KH*zw$
z-I2!IeAQaZ!t=4@JQ%*W|pO3f&hv
zpwoYT17F++2&PJ1e^qu!3r}0#EiS(TG9|7Bb{P{EAHjC;ED473`5Z5sB*h#}_ilgT
zz#QX@%jt<{>hsJL@ZvhruRkYu!87$3du03fclmhL@HDbYtIVe(X7!X;8D@`|l+N4#
z6GH&J|0k@qPto10Lu
X0|oh0ZhNjH00000NkvXXu0mjfyNvnD
literal 0
HcmV?d00001
From abf12317f6dddfb0fd063d5d0a9bac67b61f0a49 Mon Sep 17 00:00:00 2001
From: revett <2796074+revett@users.noreply.github.com>
Date: Wed, 7 Oct 2026 15:23:39 +0100
Subject: [PATCH 3/6] Center
---
README.md | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/README.md b/README.md
index 56766a0..001d717 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-
+
+

+
# @team-plain/cli
From c4517cc5a672ff85c061105a69a5531e324468a2 Mon Sep 17 00:00:00 2001
From: revett <2796074+revett@users.noreply.github.com>
Date: Wed, 7 Oct 2026 15:24:53 +0100
Subject: [PATCH 4/6] Fix export examples
---
README.md | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md
index 001d717..dcc87c6 100644
--- a/README.md
+++ b/README.md
@@ -36,7 +36,7 @@ To authenticate with your Plain workspace, the CLI uses a
`PLAIN_API_KEY` environment variable.
```bash
-export PLAIN_API_KEY=plainApiKey_xxx plain ...
+export PLAIN_API_KEY=plainApiKey_xxx
```
## Commands
@@ -59,7 +59,7 @@ Index a single page by URL.
Required permissions: `knowledgeSource:create`
```bash
-export PLAIN_API_KEY=plainApiKey_xxx plain index-url
+PLAIN_API_KEY=plainApiKey_xxx plain index-url
```
Options:
@@ -73,7 +73,7 @@ Index all the urls in a given sitemap you provide.
Required permissions: `knowledgeSource:create`
```
-export PLAIN_API_KEY=plainApiKey_xxx plain index-sitemap
+PLAIN_API_KEY=plainApiKey_xxx plain index-sitemap
```
Options:
From fe73ec9f826d73a966ef8143f58360df1245c77d Mon Sep 17 00:00:00 2001
From: revett <2796074+revett@users.noreply.github.com>
Date: Wed, 7 Oct 2026 15:25:17 +0100
Subject: [PATCH 5/6] Add missing code block tag
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index dcc87c6..0a476f8 100644
--- a/README.md
+++ b/README.md
@@ -72,7 +72,7 @@ Index all the urls in a given sitemap you provide.
Required permissions: `knowledgeSource:create`
-```
+```bash
PLAIN_API_KEY=plainApiKey_xxx plain index-sitemap
```
From 945807062f9dc21bf70968171c1620c8bff35215 Mon Sep 17 00:00:00 2001
From: revett <2796074+revett@users.noreply.github.com>
Date: Wed, 7 Oct 2026 15:27:00 +0100
Subject: [PATCH 6/6] Update release notes
---
CHANGELOG.md | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index ca70648..193f665 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,7 +8,8 @@
- Requires Node.js 22.12 or later. Node.js 18 and 20 are end of life. To stay on them, pin `@team-plain/cli@0`.
- The API key needs the `knowledgeSource:create` permission. The README and `--help` previously said `indexedDocument:create`, which was wrong.
- - Errors now print as a single line with the error code, without a request ID or stack trace.
+ - Errors print as a single line, with the API error code where there is one, in place of the request ID.
+ - Passing more arguments than a command takes is now an error. `plain index-url a b` previously indexed `a` and ignored `b`.
## 0.4.0