**Problem**: NewBox for static boxes (e.g., HakoCli) failed with
"Plugins disabled, cannot create HakoCli" error when NYASH_DISABLE_PLUGINS=1.
**Root cause**: static box declarations were only registered with
VM's register_static_box_decl for singleton persistence, but NOT
included in InlineUserBoxFactory's decls. This caused UnifiedBoxRegistry
to skip User factory and fall through to Plugin factory, which failed
when plugins were disabled.
**Fix**: Include static_box_decls in InlineUserBoxFactory's decls map.
Static boxes remain singletons (VM ensures single instance via
register_static_box_decl), but now they're also advertised by User factory
so NewBox doesn't incorrectly route to Plugin factory.
**Implementation** (src/runner/modes/vm.rs):
1. Add static_box_decls to InlineUserBoxFactory decls after nonstatic_decls
2. nonstatic takes precedence if name conflicts (rare but possible)
3. StaticName -> StaticNameInstance aliases still work as before
**Behavior** (UnifiedBoxRegistry with StrictPluginFirst policy):
- try factory#1 Plugin → fails (NYASH_DISABLE_PLUGINS=1)
- try factory#2 User → succeeds (static box found in decls)
- NewBox creates InstanceBox, VM ensures singleton semantics
**Verification**:
- Test case: /tmp/test_static_newbox.hako
- NewBox TestStatic successfully creates instance via User factory
- Methods callable, return values correct
- No plugin errors with NYASH_DISABLE_PLUGINS=1
**Impact**: static box new instances now work correctly without plugins,
matching Rust layer's design where static boxes are user-defined types
(not plugin types) with singleton semantics.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>