# Documentation [The docs for `eval()`](https://docs.python.org/3/library/functions.html#eval) say it takes keyword arguments, which is incorrect: ``` eval(expression, /, globals=None, locals=None) ``` For example: ``` >>> eval('a', locals={'a': 0}) ... TypeError: eval() takes no keyword arguments ``` Meanwhile, `help(eval)` has the correct signature: ``` eval(source, globals=None, locals=None, /) ``` I found a previous, similar issue, #69996, which was resolved in #15173 (which shipped in 3.7) but then the syntax was changed in #96579 and [the same sort of mistake was added back](https://github.com/python/cpython/commit/3c4cbd177f36777a04e78eb07ce20367560a66d3#diff-6a7a07ac473fdd76734669b1b70626ad2176011129902f6add017810f54d0439R515) (which shipped in 3.11). This issue is also similar: - #67926 <!-- gh-linked-prs --> ### Linked PRs * gh-100547 * gh-100654 <!-- /gh-linked-prs -->