Cannot use '=' in script after upgrade to 7.24

[admin@RouterOS-home] /interface> :put [find name="sfp1->vlan46"]
bad parameter name (line 1 column 31)
[admin@RouterOS-home] /interface> :put [find name~"sfp1->vlan46"] 
*C
[admin@RouterOS-home] /interface> 

Interesting, it does work if you put a space between name and =. Without space, according to the error message and the syntax coloring, it treats the whole name=xxxxx] as one token.

MikroTik might have included = in the list of valid parameter name character :open_mouth: .

But apparently only under this particular /interface menu. It works normally under other menus:

image

Huage a bug :rofl:

on 7.24rc3 work...

on 7.24 work...

but both are arm64... not CHR...

Already reported on 7.24 topic, please open a ticket.

I cannot repo this on X86 or ARM64 CHR. find works as expected. Even renaming the "ether1->vlan1" (although it's still the ether1). The name of "sfp1->vlan46" is the only curious part, so I created a VLAN against ether1 and named it "ether1->vlan46" (no SFP on CHR). In both case, and both X86 and ARM64 using:

/interface
:put [find ...]
:put [/interface/find ...]

Seems to work on 7.24 stable. What platform are you using? But AFAIK this is not universally "broken".

Are you sure there is not an extra space someplace in the name, as that explain why ~ (regex) works...

Some added here:

I am not able to reproduce the issue:

More details on CHR image used?
Where is downloaded?
Try to download again the CHR image?

WINBOX VERSION?

I think the device might be useful to know from the OP here. We don't know OP is using CHR at all. Since others are reporting, not saying there is not an issue, but it does not appear everywhere for sure.

I'm not sure the winbox version matters, or at least it seems unlikely. Specific hardware chips, perhaps?

Me neither, to be honest... but we never know...

There are indeed CHRs with arm64. It could be related to this, as I don't have them to test...

My quickchr tool brings up either X86 or ARM64. On X86, ARM64 runs under emulation. That how I tested both. With QEMU and bun JavaScript installed, you can get a CHR at any version with a variety of config.

bun -g install @tikoci/quickchr
quickchr add --name test-arm64 --version 7.24 --arch arm64
quickchr start test-arm64 --bg
quickchr exec test-arm64 '/interface; :put \[find name=ether1\]' 

*2

quickchr remove test-arm64 

I did some more tests and added screenshots to the release thread (so that MikroTik might see them)

Could you please tests with container or rose-storage enabled?

It's the same under WinBox 4, here's my RB5009:

Yup. If I use --install-all-packages, I see it:

quickchr exec 7.24-x86-2 '/system/package/print'

Columns: NAME, VERSION, BUILD-TIME, SIZE

 \# NAME          VERSION  BUILD-TIME           SIZE     
 0 openflow      7.24     2026-08-14 08:33:14  80.1KiB  
 1 container     7.24     2026-08-14 08:33:14  1148.1KiB
 2 netinstall    7.24     2026-08-14 08:33:14  76.1KiB  
 3 tr069-client  7.24     2026-08-14 08:33:14  156.1KiB 
 4 iot           7.24     2026-08-14 08:33:14  580.1KiB 
 5 user-manager  7.24     2026-08-14 08:33:14  408.1KiB 
 6 rose-storage  7.24     2026-08-14 08:33:14  5.0MiB   
 7 routeros      7.24     2026-08-14 08:33:14  19.9MiB  
 8 calea         7.24     2026-08-14 08:33:14  24.1KiB  
 9 gps           7.24     2026-08-14 08:33:14  24.1KiB  
10 wireless      7.24     2026-08-14 08:33:14  1136.1KiB
11 ups           7.24     2026-08-14 08:33:14  36.1KiB  
12 dude          7.24     2026-08-14 08:33:14  1392.1KiB

quickchr exec 7.24-x86-2 '/interface; :put [find name="ether1"]'

bad parameter name (line 1 column 37)

quickchr exec 7.24-arm64-2 '/interface; :put [find name="ether1"]'

bad parameter name (line 1 column 37)

No winbox, internally quickchr exec uses REST API POST /rest/execute to run them, so there is an implicit { } block

And appears to be the container package, in some quick tests.

quickchr exec 7.24-arm64-2 '/system/package/print'
Flags: X - DISABLED
Columns: NAME, VERSION, BUILD-TIME, SIZE
#   NAME          VERSION  BUILD-TIME           SIZE     
0   container     7.24     2026-08-14 08:33:14  1160.1KiB
1   routeros      7.24     2026-08-14 08:33:14  13.3MiB  
2 X rose-storage  7.24     2026-08-14 08:33:14  4452.1KiB

quickchr exec 7.24-arm64-2 '/interface; :put [find name="ether1"]'          
bad parameter name (line 1 column 37)

(and if container is disabled (and apply-changes/reboot), the [find name=ether1] works.)

Here on arm device I have routeros,container,netinstall and do not have the issue.

My hAP ac² also has container and it's not affected.

Paraphrasing:

:rofl:

Scope aware problem ?

:put [/interface/find name="ether1"]