user33252: I've got a (simple) question regarding the UCI options and their current values:

I start my engine (e. g. Stockfish).

The console opens and I enter "uci" and press [Enter]. As a result, I get a list of options which the engine supports, with their min and max value, their type and their default setting.
For example:
option name Ponder type check default false

Let's say I change the following option:
setoption name ponder value true

As I don't get an error, I expect that this option has been switched to true. But, when I now enter "uci" once more, I get the following output:
option name Ponder type check default false


As you can see, it is exactly the same output that I already got when starting the engine and entered "uci" the very first time. I expect to see this:
option name Ponder type check default false current value true
or something similar. Note: "current value true" was added by me, just to show what I expect.
Regardless which option I change, I never can query the current value. Why?
Thanks in advance.
Regards,
Frank

user30545: We cannot query on it as it is not supported by the protocol. However we can do something about it. I tried to maintain the uci protocol and added an issue with the following proposal.
Proposal 1
Support the command optionvalues. This command is sent to the engine.
Some examples on engine reply format.
option name Threads value 2
option name Ponder value true
option name EvalFile value mynn.nnue

Feel free to post, comment or add your proposal in that repo.
I will inform the engine programmers community about this issue as well, so that they can support this on their engine.
By the way this is the usage of uci command.
* uci
    Tells the engine to use the uci (universal chess interface),
    this will be sent once as a first command after program boot
    to tell the engine to switch to uci mode.
    After receiving the uci command the engine must identify itself with the "id" command
    and send the "option" commands to tell the GUI which engine settings the engine supports if
    any. After that the engine should send "uciok" to acknowledge the uci mode. If no uciok is sent
    within a certain time period, the engine task will be killed by the GUI.

What is your use case why you query the current engine option values? From a gui's perspective, it can store option values that it sent to the engine.

33252: <p>I've got a (simple) question regarding the UCI options and their current values:</p>
<ul>
<li><p>I start my engine (e. g. Stockfish).</p>
</li>
<li><p>The console opens and I enter &quot;uci&quot; and press [Enter]. As a result, I get a list of options which the engine supports, with their min and max value, their type and their default setting.
For example:
option name Ponder type check default false</p>
</li>
<li><p>Let's say I change the following option:
setoption name ponder value true</p>
</li>
<li><p>As I don't get an error, I expect that this option has been switched to true. But, when I now enter &quot;uci&quot; once more, I get the following output:
option name Ponder type check default false</p>
</li>
</ul>
<p>As you can see, it is exactly the same output that I already got when starting the engine and entered &quot;uci&quot; the very first time. I expect to see this:
option name Ponder type check default false current value true</p>
<p>or something similar. Note: &quot;current value true&quot; was added by me, just to show what I expect.</p>
<p>Regardless which option I change, I never can query the current value. Why?</p>
<p>Thanks in advance.</p>
<p>Regards,
Frank</p>
 30545: <p>We cannot query on it as it is not supported by the protocol. However we can do something about it. I tried to maintain the <a href="https://github.com/fsmosca/UCIChessEngineProtocol" rel="nofollow noreferrer">uci protocol</a> and added an <a href="https://github.com/fsmosca/UCIChessEngineProtocol/issues" rel="nofollow noreferrer">issue</a> with the following proposal.</p>
<h3>Proposal 1</h3>
<p>Support the command <code>optionvalues</code>. This command is sent to the engine.
Some examples on engine reply format.</p>
<pre><code>option name Threads value 2
option name Ponder value true
option name EvalFile value mynn.nnue
</code></pre>
<p>Feel free to post, comment or add your proposal in that repo.</p>
<p>I will inform the engine programmers community about this issue as well, so that they can support this on their engine.</p>
<p>By the way this is the usage of <code>uci</code> command.</p>
<pre><code>* uci
    Tells the engine to use the uci (universal chess interface),
    this will be sent once as a first command after program boot
    to tell the engine to switch to uci mode.
    After receiving the uci command the engine must identify itself with the &quot;id&quot; command
    and send the &quot;option&quot; commands to tell the GUI which engine settings the engine supports if
    any. After that the engine should send &quot;uciok&quot; to acknowledge the uci mode. If no uciok is sent
    within a certain time period, the engine task will be killed by the GUI.
</code></pre>
<p>What is your use case why you query the current engine option values? From a gui's perspective, it can store option values that it sent to the engine.</p>
