Input Text (ShellAgent Plugin)
The prompt slot your app can fill in
- text
Input Text (ShellAgent Plugin) is the node that says "here's where the caller's text goes." If you've ever used ComfyUIDeploy or ComfyDeploy's text input nodes, it's the same idea: a named, externally-settable string slot that your workflow reads like a variable. When a ShellAgent app runs your workflow, it fills this in; when you're just testing locally, you type into the widget and it behaves like a normal string constant.
It's the natural partner to the pack's Output Text node - text comes in through one, results go back out the other.
How it works
Under the hood it's a STRING with forceInput: false, meaning the widget holds a value by default but you can still wire another node's string output into it when you want a computed value. The node's validate() method advertises the input's schema to ShellAgent - title from input_name, type string - which is how the app builds its form. Run it and you get a plain string out of the text socket.
The one genuinely neat feature: the pack's front-end extension adds a "manage choices" button to this node. You can define a fixed list of allowed values, and the widget turns into a dropdown in the app's UI. Great for constraining an agent's options - model names, styles, modes - instead of letting it type anything.
Inputs and outputs
- input_name - the variable name ShellAgent sees. Default
input_text. Make it descriptive; it's the JSON key. - default_value - multiline. The fallback value used when the app doesn't supply one. This is also what you type into when testing standalone.
- description - optional help text for whoever's using the app.
- choices - optional comma/JSON list that turns the input into a picklist in the app. Empty string (the default) means free text.
Output: a single STRING on the text socket. Wire it into your CLIP Text Encode or any string input.
Installing it
Same one install as every other node in this pack:
cd ComfyUI/custom_nodes
git clone https://github.com/myshell-ai/ComfyUI-ShellAgent-Plugin
restart, done. Or find ComfyUI-ShellAgent-Plugin in ComfyUI Manager. The pack brings in pydantic, opencv-python, pillow_heif and friends on install, but there are no model files to hunt down.
Common issues
- The app shows a free text box when I wanted a dropdown. You set
choicesbut need to actually click manage choices on the node and add entries - the widget manages that list, it's not inferred from a plain string. - My prompt keeps getting overwritten. That's the point: when ShellAgent runs the workflow it injects its value into
default_value. If you want a fixed prompt, use a regular Text node instead. - Nothing shows in the app UI. Check
input_name- if it collides with another input node's name, the app may render only one of them.
This is a tiny node, and that's okay. Its whole job is to be the named entry point for free-form text, and it does that without fuss.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| input_name | STRING | input_text | — |
| default_valueopt | STRING | — | |
| descriptionopt | STRING | — | |
| choicesopt | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| text | STRING | — |